1. BLLC的caffe
caffe在GitHub上有很多的版本
最先尝试的是https://github.com/BVLC/caffe.git
操作步骤参考https://blog.csdn.net/thomaszhaoyc/article/details/68489299
安装了Anaconda3,因为我先装了py3.5但是前者自带py3.6所以需要额外操作一下。
安装了ninja-1.8.2
安装了cmake-3.12.0-win64-x64
在cmd中输入conda install python3.5即可将版本降为3.5
先是尝试使用ninja进行编译,失败。结果如图
不清楚什么原因失败,希望有高人解答。
然后尝试使用VS2015进行编译,修改build_win.cmd
if NOT DEFINED WITH_NINJA set WITH_NINJA=1
1改为0
失败,因为下载依赖包时没有一次能下载完全成功。最高一次download了90%,然后就hash missmatch了。
2.Windows整合的caffe包
此时发现了GitHub上另一版本caffe
https://github.com/Microsoft/caffe
貌似只支持vs2013,所以跳过
再次发现另一版本caffe
https://github.com/happynear/caffe-windows
参考:https://blog.csdn.net/xingchenbingbuyu/article/details/72765612
装好文中的依赖文件后,配置CommonSettings.props
主要是设置anaconda的路径
(注意此处还有gpu计算能力的修改!!!)
然后开始编译libcaffe,注意设置release 和x64
编译cuda需要大量时间,要耐心等待
然后编译caffe,出现了问题
明明我在上面的配置中设置了anaconda3,但仍出这种错误,而且环境变量均已配置完成,实属无奈。应该是包的缘故,需要在python2.7的环境下运行。
偶然从别的地方学到了一招,从解决方案的属性下手,如图
链接器的输入,附加依赖项,添加python27.lib的路径
然后caffe.exe编译成功了!
但是电脑同时装了好多个python,因此大清洗了一番。把所有python都卸载了,装上anaconda2。
编译pycaffe的时候出现了错误。
但是pycaffe的代码是显示生成成功了,经过测试,caffe.exe以及pycaffe均正常。所以先忽略不计,等待高人解答。
3.训练mnist
参考https://blog.csdn.net/u012420309/article/details/80501477
在cmd上cd到.\caffe-windows\Build\x64\Release运行一下刚刚装好的caffe.exe
结果说缺少glog.dll等各种警告
只需在环境变量path中添加.\caffe-windows\windows\thirdparty\bins即可。
开始训练后,报错
经过搜索,发现在CommonSettings.props中没有修改gpu的计算能力值。
修改如下
<!-- Set CUDA architecture suitable for your GPU.
Setting proper architecture is important to mimize your run and compile time. -->
<CudaArchitecture>compute_50,sm_50;</CudaArchitecture>
我的GPU是gtx850m计算能力是5.0,故把CudaArchitecture中的数字改为50。具体的计算能力可以查百度。
重新生成caffe,就能够进行mnist训练了。结果如下
历时一周,终于搞定!同伴用Linux,虽然遇到了很多问题但还是一天就完成了配置,如果有条件还是Linux吧!