diff --git a/ultralytics/nn/autobackend.py b/ultralytics/nn/autobackend.py index 3cea3111..bd07d1d4 100644 --- a/ultralytics/nn/autobackend.py +++ b/ultralytics/nn/autobackend.py @@ -234,8 +234,11 @@ class AutoBackend(nn.Module): logger = trt.Logger(trt.Logger.INFO) # Read file with open(w, "rb") as f, trt.Runtime(logger) as runtime: - meta_len = int.from_bytes(f.read(4), byteorder="little") # read metadata length - metadata = json.loads(f.read(meta_len).decode("utf-8")) # read metadata + try: + meta_len = int.from_bytes(f.read(4), byteorder="little") # read metadata length + metadata = json.loads(f.read(meta_len).decode("utf-8")) # read metadata + except UnicodeDecodeError: + f.seek(0) # engine file may lack embedded Ultralytics metadata model = runtime.deserialize_cuda_engine(f.read()) # read engine # Model context