Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 为什么ONNX模型读取失败?_Opencv_Onnx_Dnn Module - Fatal编程技术网

Opencv 为什么ONNX模型读取失败?

Opencv 为什么ONNX模型读取失败?,opencv,onnx,dnn-module,Opencv,Onnx,Dnn Module,我正在使用opencv cuda dnn模块进行模型推理。当使用cv::dnn::readNetFromONNX读取我的onnx文件时,我得到了下面的消息 Opencv(4.4.0-dev)错误:未指定错误(>(预期为: 'shape.depth()==CV_32S'),其中'shapes.depth()'为5(CV_32FC1),必须 等于'CV_32S'在void_cdecl中为4(CV_32SC1) cv::dnn::dnn4\U v20200609::ONNXImporter::popu

我正在使用opencv cuda dnn模块进行模型推理。当使用cv::dnn::readNetFromONNX读取我的onnx文件时,我得到了下面的消息

Opencv(4.4.0-dev)错误:未指定错误(>(预期为: 'shape.depth()==CV_32S'),其中'shapes.depth()'为5(CV_32FC1),必须 等于'CV_32S'在void_cdecl中为4(CV_32SC1) cv::dnn::dnn4\U v20200609::ONNXImporter::populateNet(类 cv::dnn::dnn4_v20200609::Net),文件 D:\opencv\u test\newbuild\opencv master\modules\dnn\src\onnx\innx\u importer.cpp, 第1442行

这可能是什么原因?如果有人面临类似的问题,并找到任何解决方案,请让我知道。
提前感谢。

您的输入blob类型必须是CV_32SC1(int)而不是CV_32FC1(float)。

感谢您的回复。事实上,我在“readNetFromONNX()中发现了上述错误“api调用。下面的url是代码,我使用了readNetFromONNX,而不是在我读取.onnx扩展文件时使用”readNet“。您可以使用工具检查模型和blob类型。或者将您的模型放在这里,以便我可以尝试帮助您。抱歉,由于一些限制,我无法提供我的onnx文件。因此我做了一些实验。实际上是在为SegNet架构转换的nx模型。我观察到网络架构中存在的“上采样层”正在产生问题。我能够在不使用上采样层的情况下读取onnx文件。Opencv dnn是否支持上采样层?使用conv2DTranspose代替SegNet网络架构的上采样2D api解决了此问题重新分层。谢谢。