【发布时间】:2018-10-06 22:38:06
【问题描述】:
我最近从this tutorial 构建了数字,一切正常,我终于训练了我的 AlexNet 模型(还训练了一个 SqueezNet,以便我可以在这里上传模型)!问题是当我从 Digits 下载我的模型时,我无法将其加载到我的程序中进行测试!我已经使用下载的 GoogleNet from this link 测试了我的程序,它工作正常! 我在这个函数中使用 OpenCV readNetFromCaffe 来加载 Caffe 模型
void deepNetwork::loadModel( cv::String model ,cv::String weight ,string lablesPath,int ps){
patchSize=ps;
labeslPath=lablesPath;
try
{
net = dnn::readNetFromCaffe(weight,model);
cerr<<"loaded succ"<<endl;
}
catch (cv::Exception& e)
{
std::cerr << "Exception: " << e.what() << std::endl;
}}
我在加载我的模型时收到以下错误
OpenCV 错误:断言失败 (pbBlob.raw_data_type() == caffe::FLOAT16) 在 blo
bFromProto,文件 /home/nvidia/build-opencv/opencv/modules/dnn/src/caffe/caffe_im
porter.cpp,第 242 行异常: /home/nvidia/build-opencv/opencv/modules/dnn/src/caffe/caffe_importer .cpp:242: 错误: (-215) pbBlob.raw_data_type() == caffe::FLOAT16 in 功能块
bFromProtoOpenCV 错误:未找到请求的对象(请求的 blob“数据” 未找到)我
n 设置输入,文件 /home/nvidia/build-opencv/opencv/modules/dnn/src/dnn.cpp,行
1606 在抛出 'cv::Exception' 实例后调用终止
什么(): /home/nvidia/build-opencv/opencv/modules/dnn/src/dnn.cpp:1606:错误: (-204) 在函数 setInput 中找不到请求的 blob“数据”中止(核心转储)
任何帮助将不胜感激
opencv 3.3.1 版也在 (3.3.0 ,3.4.1) 上测试过同样的错误! 在没有 Cuda、Cudnn 或 Caffe 的系统上进行测试,只需纯 c++ 和 OpenCv ... 但我已经用 Cuda、Cudnn 和 caffe 在 aws ec2 实例(p3.2xlarge)上训练了我的模型!
you can download the trained squeezNet model (.prototxt and .caffemodel) here
【问题讨论】:
-
这个问题与stackoverflow.com/q/49998240/1714410有什么不同?
-
可能有更详细的解释?
-
我没有问这个问题,我也有同样的问题:|
标签: c++ caffe opencv3.1 nvidia-digits