我正在使用 opencv cuda dnn 模块进行模型推理。使用 cv::dnn::readNetFromONNX 读取 onnx 文件时,我收到以下消息。
Opencv(4.4.0-dev) Error: Unspecified error (> (expected: 'shape.depth() == CV_32S') where 'shapes.depth()' is 5 (CV_32FC1) must be equal to 'CV_32S' is 4 (CV_32SC1) in void_cdecl cv::dnn::dnn4_v20200609::ONNXImporter::populateNet(class cv::dnn::dnn4_v20200609::Net), file D:\opencv_test\newbuild\opencv-master\modules\dnn\src\onnx\innx_importer.cpp, line 1442
这可能是什么原因?如果有人遇到类似的问题并找到解决方案,请告诉我。 提前致谢。
最佳答案
您的输入 blob 类型必须是 CV_32SC1(int)而不是 CV_32FC1(float)。
关于opencv - 为什么 ONNX 模型读取失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63706273/