caffe-windows配置python和matlab接口

来源:互联网 发布:中国厕所文化知乎 编辑:程序博客网 时间:2024/04/25 17:03

折腾了几天,终于编译配置Python和Matlab接口成功了,现分享给大家。

每次编译会花约一个小时的时间,所以一些小细节没注意,时间就耗费了,在直接使用github提供的caffe-master包时,配置编译Python和Matlab接口报了各种错误,编译一次,去网上找解决方案,这里也将编译过程中遇到的问题以及解决方案给大家,避免少走一些弯路。

1.先去https://github.com/microsoft/caffe下载最新的caffe-master包,下载下来之后,放在路径下,这里需要提醒,所放目录不要有空格,之前有遇到过一些莫名其妙的问题,路径不留空格,扫除隐患。

2.进入\caffe-master\windows目录,将CommonSettings.props.examples改为CommonSettings.props。将其打开,然后注意标红的地方,这里我用的CUDA7.5,z再加上Python27 x64位,这个也要注意,因为我们在编译的时候采用的relaease x64。




几点说明,
一、先确定GPU的Cablility.安装好CUDA7.5后,(注意不要极简安装,选择自定义安装,全部安装)里面会有个Samples文件夹,用来测试CUDA是否与Visual studio结合正确。安装完毕后,到C:\ProgramData\NVIDIA Corporation\CUDA Samples\v7.5\1_Utilities\deviceQuery(隐藏文件夹)运行即可。可以看到我这GPU虽然是NVIDIA gtx750 ti 系列的,在网上查Cablility为5.0,但是实际计算能力只有2.1,这一块卡了半天,是我这个显卡的问题,所以最好用该程序检测你的显卡计算能力是多少,对应多少,就在
<CudaArchitecture>compute_20,sm_20;ompute_35,sm_35;compute_52,sm_52</CudaArchitecture>
写多少。
二、CommonSettings.props里python路径一定要写对,然后相应的库信息亦要写正确。这里需要提一下,在编译之前,需要给python安装一些工具,否则在编译时也不会通过。安装python工具请参考http://blog.csdn.net/LG1259156776/article/details/52563889这篇文章,需要提醒的是,如scipy-0.18.0-cp27-cp27m-win_amd64.whl表示的是cp27-cp27m表示的是python27,还有其它的如cp34,一定要对应好。amd64,就是表示64位操作系统。按照那篇文档下好相应的工具包,在下protubuf时,会在C:\Python27\Lib\site-packages\目录下有一个google的包,通过pip下载的这个包会有库不全,在编译的时候会提示缺少一些头文件,这里不能上传这个google包,可以去git下载
protobuf-master包,在src目录可以找到这个google目录,将其替换C:\Python27\Lib\site-packages下的google包即可。如果找不到这个google包,这里不能上传。留言即可。

三、CommonSettings.props里Matlab中添加了一条$(MatlabDir)\toolbox\distcomp\gpu\extern\include;这是后来编译过程中提示:
无法打开包括文件: “gpu/mxGPUArray.h”: No such file or directory”;

四、准备编译的最后工作。右击选择属性->配置属性->c/c++->常规,将“警告视为错误”的选项改为“否”。因为编译过程会提示
error C2220: 警告被视为错误 - 没有生成“object”文件;
这样就不会报错了。

五、编译后还会遇到的些问题。
这里在网上查,说修改
在工程上右键-》属性-》c/c++-》代码生成-》运行库
一开始默认的是MD,后来我改成MDd,然后又报这样的错误,
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticRelease”
然后又编译后又去解决它的错误
这里保持原来的就好,因为我们这里本身就是Release模式,而且肯定是Dynamic的。
六、最后,可能这么一通下来,还可能报错,不要灰心,来一把2k休息再说;可能还有的问题就是添加库目录一些问题,这里我贴出自己的一些要在属性界面要修改的地方。


其它工程类似,缺啥补啥;错啥干掉啥,,,技术党不就是跟这些bug打交道么,,,祝你们顺利编译通过奋斗奋斗奋斗


0 0
原创粉丝点击