PaddlePaddle / Paddle2ONNX

ONNX Model Exporter for PaddlePaddle
Apache License 2.0
703 stars 162 forks source link

模型转换成onnx后,是否支持c++ opencv 直接调用onnx模型 #422

Open xxdm opened 2 years ago

xxdm commented 2 years ago

请将下面信息填写完整,便于我们快速解决问题,谢谢!

问题描述 将模型转换成onnx之后,cv::dnn::Net net = cv::dnn::readNetFromONNX(onn_path); 载入模型并不会报错,但是在 推理时候报错 net.setInput(blob); // 设置模型输入

报错截图 image

其他信息

网络模型,及导成onnx的过程依照的是官方例程:https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/examples/tutorial_dygraph2onnx.ipynb 用python 的 opencv 可以成功进行推理

测试环境 :vs2015(c++) + opencv450

yeliang2258 commented 2 years ago

用户您好,如果python的可以推理,说明ONNX模型导出是正确的,关于opencv推理的问题请到Opencv的repo下提相关issue,谢谢! 另外方便的话,麻烦抽半分钟时间填一下此问卷,帮助改进Paddle2ONNX https://wenjuan.baidu-int.com/?code=r8hu2s 谢谢啦!

xxdm commented 2 years ago

用户您好,如果python的可以推理,说明ONNX模型导出是正确的,关于opencv推理的问题请到Opencv的repo下提相关issue,谢谢! 另外方便的话,麻烦抽半分钟时间填一下此问卷,帮助改进Paddle2ONNX https://wenjuan.baidu-int.com/?code=r8hu2s 谢谢啦!

  1. 你的连接无法打开。
  2. 我试过用pytorch转成onnx 用c++ opencv 是可以调用的,所以才咨询一下 Paddle2ONNX转成的onnx 是否同样支持
yeliang2258 commented 2 years ago

你好,Paddle2ONNX导出的ONNX模型和pytorch导出的是一样的,你可以直接加载使用。问卷你使用手机打开试试?谢谢

xxdm commented 2 years ago

你好,Paddle2ONNX导出的ONNX模型和pytorch导出的是一样的,你可以直接加载使用。问卷你使用手机打开试试?谢谢

有例子,或者 版本说明吗,我

你好,Paddle2ONNX导出的ONNX模型和pytorch导出的是一样的,你可以直接加载使用。问卷你使用手机打开试试?谢谢

  1. 尝试用手机打开你的连接,还是打不开。
  2. 谢谢,能支持就行,我再尝试看看,有例子或者版本要求吗, 我尝试了vs2019, opencv 4.5 4.3 都是不行,
yeliang2258 commented 2 years ago

您好,之前问卷地址有误,更新后手机可打开地址:https://iwenjuan.baidu.com/?code=r8hu2s 我这边没有尝试过opencv部署,你可以看一下opencv版本具体对应的ONNX opset version版本,版本对应上了应该就可以加载部署,另外也欢迎您使用PaddleInference进行部署。

xxdm commented 2 years ago

您好,之前问卷地址有误,更新后手机可打开地址:https://iwenjuan.baidu.com/?code=r8hu2s 我这边没有尝试过opencv部署,你可以看一下opencv版本具体对应的ONNX opset version版本,版本对应上了应该就可以加载部署,另外也欢迎您使用PaddleInference进行部署。

谢谢, 问卷调查已填, 经过测试 是 输入数据的格式问题, c++ opencv 能正常调用,现在我测下 复杂的模型是否支持。

geoexploring commented 2 years ago

@xxdm ,您好,我遇见类似的问题,

我将模型导出成ONNX模型时,设定--input_shape_dict "{'x': [1, 3, 512, 512]},然后用opencv调时也是[1, 3, 512, 512]的图片输入,但是会报opencv-python\opencv\modules\dnn\include\opencv2/dnn/shape_utils.hpp:171: error: (-215:Assertion failed) start <= (int)shape.size() && end <= (int)shape.size() && start <= end in function 'cv::dnn::dnn4_v20211220::total'的错,请问输入数据应该是什么格式呢?

谢谢!

XXMxxm220 commented 7 months ago

@xxdm ,您好,我遇见类似的问题,

我将模型导出成ONNX模型时,设定--input_shape_dict "{'x': [1, 3, 512, 512]},然后用opencv调时也是[1, 3, 512, 512]的图片输入,但是会报opencv-python\opencv\modules\dnn\include\opencv2/dnn/shape_utils.hpp:171: error: (-215:Assertion failed) start <= (int)shape.size() && end <= (int)shape.size() && start <= end in function 'cv::dnn::dnn4_v20211220::total'的错,请问输入数据应该是什么格式呢?

谢谢! 您好请问问题解决了吗?想知道解决办法