关于运行Faster Rcnn 训练出错
参考之前博文中的 Win10+Matlab2017+CUDA8.0+Caffe+faster 运行DEMO未出现问题 但训练过程中出现了以下错误:
Error using caffe_
glog check error, please check log and clear mex
Error in caffe.get_solver (line 7)
pSolver = caffe_('get_solver', solver_file);
Error in caffe.Solver (line 21)
self = caffe.get_solver(varargin{:});
Error in proposal_train (line 49)
caffe_solver = caffe.Solver(opts.solver_def_file);% 第一次报错
Error in Faster_RCNN_Train.do_proposal_train (line 7)
model_stage.output_model_file = proposal_train(conf, dataset.imdb_train, dataset.roidb_train, ...
Error in script_faster_rcnn_VOC0712_VGG16 (line 50)
model.stage1_rpn = Faster_RCNN_Train.do_proposal_train(conf_proposal, dataset,
model.stage1_rpn, opts.do_val);
经过进一步查看log,获得如下信息:
F1203 10:07:42.648193 6884 layer.hpp:385] Check failed: ExactNumBottomBlobs() == bottom.size() (2 vs. 3) SoftmaxWithLoss Layer takes 2 bottom blob(s) as input.
根据如下链接 初沏的茶 博客
这个问题查看了博客:
caffe在windows平台上的编译一文提到了windows版本caffe编译。微软的官方说明上该版本支持faster-rcnn。但尝试了之后发现并不支持任少卿作者所给的MATLAB版faster-rcnn。按照@toothless_sun博客添加了roi的一些文件之后,可以正常跑demo,训练时会报错:
鉴于此忍痛不得不重新按照博客要求进行详细编译, 编译遇到了诸多困难, 进行了更加详细的记录过程, 并且为了方便后续人员避免麻烦, 同时也为自身留下了这份备忘录
如下所示:
编程开发环境包括以下几项配置:
vs 2013 + CUDA 8.0 + MATLAB 2017a集成开发环境。
其中,
fasterrcnn matlab基于Matlab的Faster R-CNN模型。
caffe源码提供了详细的 caffe源码资源。
此外,
[caffe_library](https://pan.baidu.com/s/1hqGojnI?errno=0&errmsg=Auth Login Success&&bduss=&ssnerror=0),提供 caffe库在Windows平台上的构建以及相关依赖项。
该资源包与Shaoqing Ren博客中所介绍的内容基本相同
整体一样,遇到的问题进行如下解决
错误 45 error MSB4062: 未能从程序集 E:\CaffeFastRCNN6\caffe_library\packages\OpenCV.2.4.11\build\native\ private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///E:\CaffeFastRCNN6\caffe_library\packages\OpenCV.2.4.11\build\native\private\coapp.NuGetNativeMSBuildTasks.dll”或它的某一个依赖项。系统找不到指定的文件。 请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类。 E:\CaffeFastRCNN6\caffe_library\packages\OpenCV.2.4.11\build\native\OpenCV.targets 1115 5 caffe
该错误提示指出需要对 指定的配置文件位置进行调整:将该配置文件中的 \private字段删除:"\"。具体修改路径为:caffe_library/packages/OpenCV.2.4.11/build/native/OpenCV.props
<NuGet-NativeExtensionPath Condition="'$(NuGet-NativeExtensionPath)' == '' OR '$(NuGet-NativeExtensionVersion)' =='' OR $(NuGet-NativeExtensionVersion) < 562967165599744">$(MSBuildThisFileDirectory)\private</NuGet-NativeExtensionPath>
其它部分都按照 初沏的茶 的博客一样。 删除


在编译过程中又出现了新的错误信息;无法打开库文件:libiomp5md.lib 等等,并非是因为未删除 libiomp5md.lib 而导致的;使用nuget工具包安装了 boost、opencv2.4.11 和 openBLAS 库后仍遇到问题;在安装boost-vc120 包时也遇到了困难。
