From 43c5ed9892514d3448fa588c935918c80e9aa997 Mon Sep 17 00:00:00 2001 From: Burhan <62214284+Burhan-Q@users.noreply.github.com> Date: Sat, 31 Aug 2024 11:39:45 -0400 Subject: [PATCH] Includes warning for enforced `dynamic` during INT8 exports (#15874) Co-authored-by: UltralyticsAssistant Co-authored-by: Glenn Jocher --- ultralytics/engine/exporter.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ultralytics/engine/exporter.py b/ultralytics/engine/exporter.py index a4c81e24..891fa8bb 100644 --- a/ultralytics/engine/exporter.py +++ b/ultralytics/engine/exporter.py @@ -204,8 +204,9 @@ class Exporter: self.args.half = False assert not self.args.dynamic, "half=True not compatible with dynamic=True, i.e. use only one." self.imgsz = check_imgsz(self.args.imgsz, stride=model.stride, min_dim=2) # check image size - if self.args.int8 and (engine or xml): + if self.args.int8 and not self.args.dynamic and (engine or xml): self.args.dynamic = True # enforce dynamic to export TensorRT INT8; ensures ONNX is dynamic + LOGGER.warning("WARNING ⚠️ INT8 export requires dynamic image sizes, setting dynamic=True.") if self.args.optimize: assert not ncnn, "optimize=True not compatible with format='ncnn', i.e. use optimize=False" assert self.device.type == "cpu", "optimize=True not compatible with cuda devices, i.e. use device='cpu'"