yolov3_to_onnx, onnx.onnx_cpp2py_export.check.ValidationError:Op registered for Upsample is depracted in domain_version of 10

这是yolov3-darknet模型转onnx中遇到的,是由于onnx的不同版本的接口不同导致的,

常用的解决方案是更换onnx的版本,一般啥1.2.1, 1.4.1, 1.5.0根据自己的需要更换:

更换过程如下,假设onnx装在python2中:

(1) python2 -m pip uninstall onnx 

注意:我使用 pip uninstall onnx卸载后,发现进入python2中,onnx的版本并没有发生改变,建议用(1)卸载

(2) python2 -m pip install onnx==1.5.0

如果在上述更换版本中很麻烦,你可以使用如下办法:

upsample_node = helper.make_node(
            'Upsample',
            mode='nearest',
            inputs=inputs,
            outputs=[layer_name],
            name=layer_name,
        )
改为
upsample_node = helper.make_node(
            'Resize', #Upsample -->Resize
            mode='nearest',
            inputs=inputs,
            outputs=[layer_name],
            name=layer_name,
        )