我最近从本教程中构建了数字,一切都很好,我终于训练了我的 AlexNet 模型(还训练了一个 SqueezNet,以便我可以在这里上传模型)!问题是当我从 Digits 下载我的模型时,我无法将它加载到我的程序中进行测试!我已经使用从这个链接下载的 GoogleNet 测试了我的程序 ,它工作正常!我在这个函数中使用 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 错误:blo bFromProto 中的断言失败 (pbBlob.raw_data_type() == caffe::FLOAT16)
,文件 /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 function blo
bFromProto
OpenCV 错误:在setInput、文件 /home/nvidia/build-opencv/opencv/modules/dnn/src/dnn.cpp中未找到请求的对象(未找到请求的 blob“数据”) ,第
1606 行终止后调用'cv::Exception' 实例
what(): /home/nvidia/build-opencv/opencv/modules/dnn/src/dnn.cpp:1606: 错误: (-204) 函数中未找到请求的 blob“数据”设置输入中止(核心转储)
任何帮助将不胜感激<3
opencv 3.3.1 版也在 (3.3.0 ,3.4.1) 上测试过同样的错误!在没有 Cuda、Cudnn 或 Caffe 的系统上进行测试,只是纯 c++ 和 OpenCv ......但我已经用 Cuda、Cudnn 和 caffe 在 aws ec2 实例(p3.2xlarge)上训练了我的模型!