【发布时间】:2017-01-17 12:36:51
【问题描述】:
环境:
操作系统:赢 10
IDE:Visual Studio 2013
opencv:来自https://github.com/Itseez/opencv的3.1 master
opencv_contrib:来自https://github.com/Itseez/opencv_contrib
显卡:nvidia GeForce 610M
CUDA:工具包 v7.5 和 cudnn 已安装
我做了什么:
通过http://docs.opencv.org/3.1.0/de/d25/tutorial_dnn_build.html 构建 dll 和 lib 和成功
使用示例代码(来自http://docs.opencv.org/3.1.0/d5/de7/tutorial_dnn_googlenet.html)with caffe 模型和prototxt(在当前文件夹下载)并构建成功
问题: 一旦我运行我的代码。导入caffe模型文件时会失败
请指出哪里错了,非常感谢....
错误如下:
[libprotobuf 错误 D:\openCV_root\opencv_contrib\modules\dnn\3rdparty\protobuf\src\google\protobuf\text_format.cc:245] 解析文本格式 caffe.NetParameter 时出错:6:15:消息类型“caffe.LayerParameter”没有名为“input_param”的字段。
OpenCV 错误:未指定的错误 (失败:ReadProtoFromTextFile(param_file,param)。无法解析 NetParameter 文件:./bvlc_googlenet.prototxt) 在 cv::dnn::ReadNetParamsFromTextFileOrDie,文件 D:\openCV_root\opencv_contrib\modules\dnn\src\caffe\caffe_io.cpp,第 1101 行
D:\openCV_root\opencv_contrib\modules\dnn\src\caffe\caffe_io.cpp:1101:错误:(-2) 失败:ReadProtoFromTextFile(param_file, param)。无法解析 NetParameter 文件:./bvlc_googlenet.prototxt
在函数 cv::dnn::ReadNetParamsFromTextFileOrDie 中
【问题讨论】:
-
我从“github.com/BVLC/caffe/issues/3846”解决了根本原因,我应该在解决这个问题后更改为“旧定义”,我将在“net.forward();”处失败,错误消息如下:OpenCV错误: cv::dnn::ConvolutionLayerImpl::allocate 中的断言失败 (input.dims() == 4 && (input.type() == CV_32F || input.type() == CV_64F)),文件 D: \openCV_root\opencv_contrib\modules\dnn\src\layers\convolution_layer.cpp,第 89 行