Advertisement

关于运行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>

其它部分都按照 初沏的茶 的博客一样。 删除

在这里删除USE_MKL
在这里删除opencv和mkl相关的库 包括libiomp5md.lib;;opencv_imgproc249.lib;opencv_core249.lib;opencv_highgui249.lib;所有MLK相关的

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

全部评论 (0)

还没有任何评论哟~