caffe-windows10-matlab2014a安装配置6个问题

5 篇文章 0 订阅
1 篇文章 0 订阅
问题一:新下载好的caffe-master,解压后直接配置CommonSettings.props,配置方案可以参照【caffe-Windows】微软官方caffe之 matlab接口配置,然后运行matcaffe会抛出如下错误

这里写图片描述

错误1.1,error C2220:警告被视为错误-没有生成“object”文件

解决办法:
这里写图片描述
【PS】如果不能解决,那先尝试把错误1.2解决一下,再来解决错误1.1,按照这样笔者是解决了问题的了。

错误1.2,error LNK1104: 无法打开文件“libcaffe.lib”

错误分析:这是没有找到libcaffe.lib库,在运行matcaffe项目之前,必须先要运行libcaffe项目,在Build/x64/Release/文件下生成libcaffe.lib及所需的所有动态链接库。
解决办法:运行libcaffe,如果在运行过程中同样出现错误1.1所述的问题,请按照错误1.1的解决办法解决,在运行libcaffe。

错误1.3 error C1083: 无法打开包括文件: “gpu/mxGPUArray.h”

这里写图片描述
在解决了错误1.1和错误1.2后,在运行matcaffe项目,你会发现,错误1.3变成上面这样了,咦,怎么错误变多了,别急,仔细看看,原来多出来的错误都是和 error C1083: 无法打开包括文件: “gpu/mxGPUArray.h”紧密联系的。
问题分析:mxGPUArray.h 是最新的caffe-master包中编译matcaffe所必须的Microsoft支持,其文件路径为../Matlab2014a/toolbox\distcomp\gpu\extern\include下,由于CommonSettings.props中Matlab的相关配置没有给出上面这个路径,因此需要自己配置。
解决办法:配置如下

<PropertyGroup Condition="'$(MatlabSupport)'=='true'">
       <MatlabDir>D:\Matlab2014a</MatlabDir>
       <LibraryPath>$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)</LibraryPath>
       <IncludePath>$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(MatlabDir)\extern\include;$(IncludePath)</IncludePath>
</PropertyGroup>

$(MatlabDir)\toolbox\distcomp\gpu\extern\include;为添加的mxGPUArray.h所包含的路径。
解决晚以上三个错误,现在,在运行matcaffe试试。

问题二:

咦,怎么报这个错误,但是控制台明明显示生成3个成功,没有错误啊。
这里写图片描述
解决办法:
其实,这已经是成功了的,你可以看一下Build/x64/Release/matcaffe/+caffe/private下的文件中是不是已经生成了caffe_.mexw64
这里写图片描述
要是你真看着上面这个报错不爽,那可以这样做,生成或者重新生成一下,其实就是更新生成文件而言,不过,这一次就不会报出上面的错误了。
这里写图片描述
好,问题二到这里结束,matlab的caffe运行库也已经生成好了。

问题三:在matlab中运行classification_demo报以下错误
>> classification_demo
Invalid MEX-file 'D:\DeepLearning\CaffeDev-Matlab\CPU\caffe-master\matlab\+caffe\private\caffe_.mexw64': 找不到指定的模块。

出错 caffe.set_mode_cpu (line 5)
caffe_('set_mode_cpu');

出错 classification_demo (line 70)
  caffe.set_mode_cpu();

问题分析:这个问题很明显了,找不到..\caffe_.mexw64 这个指定模块,这说明了我们当前的Matlab没有准确的连接上caffe,因此需要配置Matlab一运行就能自动加载上面这个指定模块。
解决办法:
官网和网络上给出来的都是在Matlab上添加路径:
这里写图片描述
借用一下网上的图片,不过很多朋友一定都试过这个方法了,有的可以直接运行过去,但是有的Matlab版本就无法正常运行,仍然会报出找不到指定模块的错误。
【2017/07/14 debug logs】
Matlab 2014a
1.我试着按照官网解决,即以上添加路径方式,没有效果;
2.打开Matlab,首先输入caffe的命令,caffe.version,然后看到这个样子
这里写图片描述
之后找到并打开文件夹../caffe-master/matlab/+caffe/private/,再运行caffe.version,然后就看到可以正常执行了,这个时候Matlab就能够正确识别caffe_.mexw64的模块了。
这里写图片描述
有朋友会问,那是不是,以后编程都需要在这个目录下,笔者确切的告诉你“不需要”,只要在这个路径下成功执行过异常caffe的任意命令,再跑到其他任意路径,这里用的是../caffe-master/matlab/demo/路径作为演示,可以正常执行caffe.version指令。
这里写图片描述
如果你看到了这个效果,说明caffe和matlab已经连接上了。
【PS】但是,上述方法存在一个问题,由于笔者使用的是Matlab2014a非安装版本的破解版本,使用起来有很严重的bug,每次打开matlab,想要运行一个新的caffe程序,必须要按照方法2再过一遍,太过麻烦。

问题四:接下来试着运行../caffe-master/matlab/demo/classification_demo.m 来看看,发现问题三被解决了,但是却出现了下面问题。
>> classification_demo
错误使用 classification_demo (line 80)
Please download CaffeNet from Model Zoo before you run this demo

问题分析:这主要是classification_demo程序运行所必须的caffemodel没有找到,从网上下载对应的模型,bvlc_reference_caffenet.caffemodel,
下载地址 链接:http://pan.baidu.com/s/1boQKRsb 密码:5dkv
并将其放到对应路径下:..\caffe-master\models\bvlc_reference_caffenet\
之后问题四就被解决了。

问题五:接下来再试着运行../caffe-master/matlab/demo/classification_demo.m 来看看,发现问题三被解决了,但是却出现了下面问题。

这里写图片描述

发现问题三被解决了,但是却出现了上述问题。
【PS】这个问题暂时还没有找到解决办法,笔者猜测,可能和自己使用的Matlab工具有很大关系,正在尝试下载一个安装版本的Matlab再试试。

问题六:
>> classification_demo
错误使用 CHECK (line 4)
invalid Net handle

出错 caffe.Net (line 38)
      CHECK(is_valid_handle(hNet_net), 'invalid Net handle');

出错 caffe.get_net (line 28)
net = caffe.Net(hNet);

出错 caffe.Net (line 33)
        self = caffe.get_net(varargin{:});

出错 classification_demo (line 84)
net = caffe.Net(net_model, net_weights, phase);

官方给出的解决方案是:
把\caffe-master\matlab+caffe\private文件夹点开,再重新运行就可以了。
【PS】这个问题,笔者遇到过一次,但是按照问题三的解决办法解决号 指定模块找不到 的问题后,就没有出现这个错误了,当然问题三解决的时候也是使用了官方的这个办法。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十四桥下一句

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值