Open EthanZhang-China opened 11 months ago
同问,我遇到了一样的问题。 另外,转换我自己训练的mask_rcnn_r50_1x_coco模型的时候,也会出现类似的错误
你可以把后处理部分exclude掉,然后就可以转换成onnx了,不过还需要加下手写的基于onnx的后处理即可。 这个问题是流式的op不支持,这块问题问过paddle的人,说这个问题比较难解,还需要时间。 如果模型里有流式的op,那就无法转onnx了,基本就无解了,比如solov2,这块v5,ppyoloe去掉后处理都是ok的
可以先尝试一下上述方案
问题确认 Search before asking
Bug组件 Bug Component
Deploy
Bug描述 Describe the Bug
paddle2onnx转换指令是paddle2onnx --model_dir ./solov2_r50_fpn_1x_coco/ --model_filename ./solov2_r50_fpn_1x_coco/model.pdmodel --params_filename ./solov2_r50_fpn_1x_coco/model.pdiparams --save_file solov2.onnx --enable_dev_version False 报错信息如下 opt/conda/lib/python3.7/site-packages/pkg_resources/init.py:121: DeprecationWarning: pkg_resources is deprecated as an API warnings.warn("pkg_resources is deprecated as an API", DeprecationWarning) /opt/conda/lib/python3.7/site-packages/pkg_resources/init.py:2870: DeprecationWarning: Deprecated call to
sys.exit(main())
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/command.py", line 267, in main
auto_update_opset=args.enable_auto_update_opset)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/command.py", line 177, in program2onnx
auto_update_opset)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/command.py", line 210, in program2onnx
output_names=output_names)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/convert.py", line 83, in program2onnx
operator_export_type, auto_update_opset, **configs)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/convert.py", line 102, in program2onnx
output_names=output_names)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/convert.py", line 37, in export_onnx
auto_update_opset)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/graph/onnx_graph.py", line 327, in build
auto_update_opset=auto_update_opset)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/graph/onnx_graph.py", line 85, in init
self.update_opset_version()
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/graph/onnx_graph.py", line 203, in update_opset_version
node_map, self.opset_version)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/op_mapper/op_mapper.py", line 142, in get_recommend_opset_version
node_map, opset_version, True)
File "/opt/conda/lib/python3.7/site-packages/paddle2onnx/legacy/op_mapper/op_mapper.py", line 188, in check_support_status
raise NotImplementedError(error_info)
NotImplementedError:
There's 3 ops are not supported yet
=========== tril_triu ===========
=========== select_input ===========
=========== conditional_block ===========
重点信息截图:
pkg_resources.declare_namespace('google')
. Implementing implicit namespace packages (as specified in PEP 420) is preferred topkg_resources.declare_namespace
. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg) /opt/conda/lib/python3.7/site-packages/pkg_resources/init.py:2870: DeprecationWarning: Deprecated call topkg_resources.declare_namespace('mpl_toolkits')
. Implementing implicit namespace packages (as specified in PEP 420) is preferred topkg_resources.declare_namespace
. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg) /opt/conda/lib/python3.7/site-packages/pkg_resources/init.py:2870: DeprecationWarning: Deprecated call topkg_resources.declare_namespace('ruamel')
. Implementing implicit namespace packages (as specified in PEP 420) is preferred topkg_resources.declare_namespace
. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages declare_namespace(pkg) Traceback (most recent call last): File "/opt/conda/bin/paddle2onnx", line 8, in复现环境 Environment
OS: Linux Paddle: 2.2.1 commit: a5cf2e305b744e3ebd2f2210341f88d349d4ec5e
Bug描述确认 Bug description confirmation
是否愿意提交PR? Are you willing to submit a PR?