opencv - 为什么 ONNX 模型读取失败?

标签 opencv onnx

我正在使用 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/

相关文章:

windows-runtime - Windows 10 C++ 中 onnx 模型 (opset11) 的推理?

pytorch - 将pytorch模型转换为core-ml时出错

python - 如果使用python在捕获区域中存在某些颜色,如何返回 bool 值

java - 使用 Spring boot 加载 keras 模型

python - 如何创建具有多个分类特征的SVM?

c++ - 升级到 TensorRT 7 后加载或构建 cuda 引擎偶尔会崩溃

c++ - 无法加载 lbpcascade_profile.xml

python - pylab 与 opencv : returning completely different array values 中的 imread

neural-network - 如何创建 ONNX 文件?

onnxruntime 不使用 CUDA