I am trying to validate my sparse-quantized transfer-learned YOLOv5-m model with the following code:
!sparseml.yolov5.val_onnx
--model_path yolov5_runs/train/exp6/weights/best.onnx
--data yolov5/data2.yaml
--imgsz 416
--batch-size 16
The model was exported after the sparse-quantized fine-tuning using:
!sparseml.yolov5.export_onnx
--weights yolov5_runs/train/exp6/weights/best.pt
--include onnx
--imgsz 416
--batch-size 16
--dynamic
--simplify
The model was trained using a batch size and image size of 16 and 416 respectively.
The error I am getting:
Traceback (most recent call last):
File "/usr/local/bin/sparseml.yolov5.val_onnx", line 8, in
sys.exit(val_onnx())
File "/usr/local/lib/python3.7/dist-packages/sparseml/yolov5/scripts.py", line 83, in val_onnx
val_onnx_run(**vars(opt))
File "/usr/local/lib/python3.7/dist-packages/yolov5/val_onnx.py", line 603, in val_onnx_run
main(opt)
File "/usr/local/lib/python3.7/dist-packages/yolov5/val_onnx.py", line 571, in main
run(**vars(opt))
File "/usr/local/lib/python3.7/dist-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/yolov5/val_onnx.py", line 311, in run
images=[im.numpy()], iou_thres=iou_thres, conf_thres=conf_thres
File "/usr/local/lib/python3.7/dist-packages/deepsparse/pipeline.py", line 194, in call
else self._run(*args, **kwargs) # Blocking call
File "/usr/local/lib/python3.7/dist-packages/deepsparse/pipeline.py", line 602, in _run
pipeline_outputs = self._run_with_static_batch(pipeline_inputs)
File "/usr/local/lib/python3.7/dist-packages/deepsparse/pipeline.py", line 631, in _run_with_static_batch
engine_outputs: List[numpy.ndarray] = self.engine_forward(engine_inputs)
File "/usr/local/lib/python3.7/dist-packages/deepsparse/pipeline.py", line 576, in engine_forward
return self.engine(engine_inputs)
File "/usr/local/lib/python3.7/dist-packages/deepsparse/engine.py", line 235, in call
return self.run(inp, val_inp)
File "/usr/local/lib/python3.7/dist-packages/deepsparse/engine.py", line 347, in run
self._validate_inputs(inp)
File "/usr/local/lib/python3.7/dist-packages/deepsparse/engine.py", line 536, in _validate_inputs
).format(arr.shape[0], self._batch_size)
ValueError: array batch size of 3 must match the batch size the model was instantiated with 16
I am using:
sparseml 1.1.1
deepsparse 1.1.0