X2Paddle icon indicating copy to clipboard operation
X2Paddle copied to clipboard

ONNX模型转为paddle模型报错

Open zhao-sy opened this issue 2 years ago • 1 comments

感谢您参与 X2Paddle 社区! 问题模版为了 X2Paddle 能更好的迭代,例如新功能发布、 RoadMaps 和错误跟踪. :smile_cat:

问题描述

看到报错显示conv必须是2d或3d格式,想问一下使用了conv1d的模型可以怎么转换为paddle模型

  • 错误信息
  • (x2paddle) C:\Users\11832\Downloads\Shift-SACN-master\Shift-SACN-master\X2Paddle>x2paddle --framework=onnx --model=FB15k-237_None_0.0_0.2.onnx --save_dir=pd_model INFO 2022-11-26 12:57:55,384 convert.py:445] paddle.version = 2.3.2 INFO 2022-11-26 12:57:55,423 convert.py:299] Now translating model from onnx to paddle. model ir_version: 7, op version: 9 Shape inferencing ... Shape inferenced. Now, onnx2paddle support convert onnx model opset_verison [7, 8, 9, 10, 11, 12, 13, 14, 15], opset_verison of your onnx model is 9. Total nodes: 29 Nodes converting ... Converting node 61 ... Traceback (most recent call last): File "C:\Users\11832\anaconda3\envs\x2paddle\lib\site-packages\x2paddle-1.3.9-py3.9.egg\x2paddle\op_mapper\onnx2paddle\opset_legacy.py", line 110, in run_mapping res = func(*args, **kwargs) File "C:\Users\11832\anaconda3\envs\x2paddle\lib\site-packages\x2paddle-1.3.9-py3.9.egg\x2paddle\op_mapper\onnx2paddle\opset_legacy.py", line 2192, in Conv assert 2 <= convnd <= 3, 'only Conv2D and Conv3D is supported' AssertionError: only Conv2D and Conv3D is supported

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "C:\Users\11832\anaconda3\envs\x2paddle\Scripts\x2paddle-script.py", line 33, in sys.exit(load_entry_point('x2paddle==1.3.9', 'console_scripts', 'x2paddle')()) File "C:\Users\11832\anaconda3\envs\x2paddle\lib\site-packages\x2paddle-1.3.9-py3.9.egg\x2paddle\convert.py", line 489, in main onnx2paddle( File "C:\Users\11832\anaconda3\envs\x2paddle\lib\site-packages\x2paddle-1.3.9-py3.9.egg\x2paddle\convert.py", line 304, in onnx2paddle mapper = ONNXOpMapper(model) File "C:\Users\11832\anaconda3\envs\x2paddle\lib\site-packages\x2paddle-1.3.9-py3.9.egg\x2paddle\op_mapper\onnx2paddle\onnx_op_mapper.py", line 52, in init func(node) File "C:\Users\11832\anaconda3\envs\x2paddle\lib\site-packages\x2paddle-1.3.9-py3.9.egg\x2paddle\op_mapper\onnx2paddle\opset_legacy.py", line 112, in run_mapping raise Exception("convert failed node:{}, op_type is {}".format( Exception: convert failed node:109, op_type is Conv

具体信息

  • 转换模型后用处
    • [ ] 转换预训练参数,再使用 Paddle 进行模型开发
  • 模型来源 自行开发模型
  • 应用场景 用于移动端业务下的检测业务
  • 版本信息 PaddlePaddle => :2.3.2: X2Paddle => :1.3.9: 来源框架版本(PyTorch/TF/ONNX/Caffe) => :ONNX
  • 您的联系方式(邮箱/微信/电话) [email protected]

zhao-sy avatar Nov 26 '22 05:11 zhao-sy

@zhao-sy 这个具体是什么模型呢?麻烦提供一下ONNX模型吧,我来看下具体原因

另外,可以描述一下以下两个问题吗: 1、具体业务场景 2、为什么有转到Paddle部署的需求呢?

感谢~

wjj19950828 avatar Dec 05 '22 03:12 wjj19950828