Paddle2ONNX icon indicating copy to clipboard operation
Paddle2ONNX copied to clipboard

Paddle检测模型转ONNX,onnxruntime时报错

Open maximli opened this issue 4 years ago • 12 comments

paddle2onnx --model_dir ./model/ --model_filename inference.pdmodel --params_filename inference.pdiparams --save_file ./model/det_large.onnx --opset_version 10 --enable_onnx_checker True

转为onnx没有报错 2021-09-16 15:52:58 [INFO] ONNX model generated is valid. 2021-09-16 15:52:58 [INFO] ONNX model saved in ./model/det_large.onnx

onnx.load 成功,在这步时报错 sess = ort.InferenceSession(onnx_model.SerializeToString())

onnxruntime.capi.onnxruntime_pybind11_state.InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Failed to load model with error: /Users/runner/work/1/s/onnxruntime/core/graph/model.cc:111 onnxruntime::Model::Model(onnx::ModelProto &&, const onnxruntime::PathString &, const onnxruntime::IOnnxRuntimeOpSchemaRegistryList *, const logging::Logger &) Unknown model file format version. python-BaseException

=======问题已解决 Problem solved======

原因: onnxruntime目前不支持高版本的onnx,导致加载出错 解决方案: 降低环境中onnx的版本至1.6.0~1.9.0 ,重新导出ONNX模型即可

Why: Currently, onnx>=1.10.0 is not supported by onnxruntime<=1.9.0 How to solve: downgrade onnx to 1.6.0~1.9.0, and convert paddle model to onnx again.

pip install onnx==1.7.0

maximli avatar Sep 16 '21 08:09 maximli

请问你的onnx和onnxruntime版本是?请参照https://github.com/PaddlePaddle/Paddle2ONNX/issues/327

yeliang2258 avatar Sep 16 '21 08:09 yeliang2258

本地配置如下,模型时gpu下训练出来的。 onnx 1.10.1 onnxruntime 1.8.1 paddle 1.0.1 paddle2onnx 0.8 paddlepaddle 2.0.0

maximli avatar Sep 16 '21 08:09 maximli

@maximli Currently, we found that onnx>=1.10.0 is not supported by onnxruntime<=1.9.0, refer here https://github.com/microsoft/onnxruntime/blob/master/docs/Versioning.md for more information.

To convert paddle model and use onnxruntime successfully, please make sure

  • paddle2onnx >= 0.8.0
  • onnx <= 1.9.0
  • onnxruntime >=1.8.0

jiangjiajun avatar Sep 16 '21 08:09 jiangjiajun

谢谢,重新安装onnx为1.9.0,有如下报错

onnx.onnx_cpp2py_export.checker.ValidationError: Your model ir_version is higher than the checker's.

maximli avatar Sep 16 '21 09:09 maximli

哦,需要重新生成onnx文件。目前正常了,十分感谢!@jiangjiajun @yeliang2258

maximli avatar Sep 16 '21 09:09 maximli

使用命令:paddle2onnx --model_dir D:\111\paddle-model-1 --model_filename model.pdmodel --params_filename model.pdiparams -s rec.onnx --opset_version 11 --enable_onnx_checker True 后重新生成onnx文件仍然报onnxruntime::Model::Model Unknown model file format version.这个错。

环境: python==3.8 paddle2onnx==1.0.1 onnxruntime==1.8.1 onnx==1.9.0 或者 1.7.0 都试过

jindameias avatar Nov 01 '22 07:11 jindameias

麻烦升级onnx和onnxruntime到1.11以上

yeliang2258 avatar Nov 01 '22 07:11 yeliang2258

麻烦升级onnx和onnxruntime到1.11以上

感谢哥哥,onnxruntime==1.11.0 and onnx==1.11.0已经成功加载

jindameias avatar Nov 02 '22 02:11 jindameias

麻烦升级onnx和onnxruntime到1.11以上

cuda版本不支持高版本onnxruntime怎么办啊 ? cuda-10.2,onnxruntime-1.6.0,onnx-1.7.0,paddle2onnx-1.0.1 还是报这个错误

Wangyongdi avatar Dec 01 '22 06:12 Wangyongdi

@Wangyongdi 解决方案参考这里第3个问题https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/docs/zh/FAQ.md

jiangjiajun avatar Dec 01 '22 06:12 jiangjiajun

@Wangyongdi 解决方案参考这里第3个问题https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/docs/zh/FAQ.md

谢谢大佬,问题解决了

Wangyongdi avatar Dec 01 '22 07:12 Wangyongdi

I think should see compatibility https://onnxruntime.ai/docs/reference/compatibility.html

lix19937 avatar May 04 '24 02:05 lix19937