运行TensorRT->Samples->YOLO-V3示例时报错
在运行TensorRT目录Samples文件下的YOLO-V3模型时,执行yolov3_to_onnx.py时出错
Traceback (most recent call last):
File "yolov3_to_onnx.py", line 812, in <module>
main()
File "yolov3_to_onnx.py", line 805, in main
onnx.checker.check_model(yolov3_model_def)
File "/home/zxzn/.local/lib/python2.7/site-packages/onnx/checker.py", line 86, in check_model
C.check_model(model.SerializeToString())
onnx.onnx_cpp2py_export.checker.ValidationError: Op registered for Upsample is depracted in domain_version of 10
==> Context: Bad node spec: input: "085_convolutional_lrelu" input: "086_upsample_scale" output: "086_upsample" name: "086_upsample" op_type: "Upsample" attribute { name: "mode" s: "nearest" type: STRING }
出错原因
电脑Ubuntu18.04系统安装的最新版本的onnx,版本号为1.5.0,而这个脚本需要配套的onnx版本应为1.4.1
所以想办法降onnx版本即可
解决办法
如果当前环境的Python版本是python3.x,执行下面代码:
pip3 uninstall onnx // 卸载ONNX
pip3 install onnx==1.4.1 --user // 重新安装对应的ONNX版本
如果当前环境的Python版本是python2.x,执行下面代码:
pip uninstall onnx // 卸载ONNX
pip install onnx==1.4.1 --user // 重新安装对应的ONNX版本
不清楚当前环境的Python版本的,可以在Linux命令行运行 python -V
查看当前环境版本号。