win10+vs2013+cuda8.0+cudnnV5环境安装caffe
在老师的要求下给自己的电脑上安装caffe,折腾了几天,在广泛借鉴前人经验后终于安装成功,在此感谢他们。本文主要参考自博文:http://blog.csdn.net/u012005313/article/details/77351727
为了帮助和博主一样的萌新少走弯路,在此把自己的安装过程奉上,欢迎大神指出错误。转载请注明出处。
先放几个自己遇到的坑:(可以先跳过这部分直接看安装过程)
部分错误解决方案参考自:http://www.jianshu.com/p/3cd99857d460
1. 不能用visual studio 2017代替visual studio 2013。当初折腾了两天没弄好,换2013一个小时就全部安好了win10电脑装了visual studio 2017后 可以直接安装 visual studio2013 不需要卸载2017..如果你
一定要用visual studio 2017,请百度搜索caffe2 vs2017
2. Cuda安装失败:我当初安装失败是因为没有安装visualstudio 2013,而cuda8.0兼容的vs版本只有vs2013和vs2015
3. Libcaffe加载失败:原因还是当初没有成功安装cuda8.0
另外一个可能的原因是C:\ProgramFiles (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations文件夹下缺少属性文件CUDA 8.0.props,
可以去C:\ProgramFiles\NVIDIA GPU ComputingToolkit\CUDA\v8.0\extras\visual_studio_integration\MSBuildExtensions目录下找到该属性文件,复制过去。
4. 编译libcaffe报错:
错误
1error MSB3073: 命令“"D:\caffe-windows\windows\\scripts\BinplaceCudaDependencies.cmd" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin" "" false true "D:\caffe-windows\windows\..\Build\x64\Debug\"
:VCEnd”已退出,代码为 1。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets132
5 libcaffe
我的错误原因是:CommonSettings.props中的<CuDnnPath></CuDnnPath>标签中间加了路径
一:在自己的电脑上安装vs2013.
官网地址:https://my.visualstudio.com/Downloads?PId=2226
下载好后直接打开,按照提示一步步安装。
二:在电脑上安装cuda8.0
cuda8.0各个系统版本在下面的博文里:
http://blog.csdn.net/u011669700/article/details/78622872
选择win10版本连接
注意事项:1.安装时选择默认路径(不要做任何修改)。
2.请选择自定义安装,然后在下一步中将 driver选项勾除(你的本本上应该有了驱动,重复安装可能导致某种冲突)
3.安装完成后,打开命令行窗口,输入:nvcc-V如果能够显示版本信息,就表示安装成功。
三:在电脑上下载cudnnV5
官网地址:https://developer.nvidia.com/rdp/cudnn-download
可能需要注册账号,按照要求注册,然后再次打开该地址,就可以选择cudnn版本下载了
注意,要选择 Download cuDNN v5.1 (Jan 20, 2017),for CUDA 8.0下载
下载好后解压,可以看到包含一个文件夹 cuda里面由三个子文件夹 bin、include、lib
把bin文件夹下的文件复制一份到cuda对应的文件夹中,默认路径为:C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
类似地,把include和lib文件夹内的文件分别复制到cuda对应的文件夹中。
四:下载windows版本的caffe
下载地址在github上:https://github.com/Microsoft/caffe
打开网址,选择右边的 clone and download选择 zip 下载
五:设置属性表
将上一步下载的zip解压,打开解压的文件,在 *\caffe-master\windows下找到CommonSettings.props.example (*是你解压的目录)
把它复制一份,粘贴到当前文件夹中,然后重命名为:CommonSettings.props
用vs2013打开CommonSettings.props做如下修改:
第7行 <CpuOnlyBuild>false</CpuOnlyBuild>
第8行 <UseCuDNN>true</UseCuDNN>
第9行 <CudaVersion>8.0</CudaVersion>
第13行<PythonSupport>false</PythonSupport>如果你已经安装好了anaconda和合适版本的python,这里可以修改false为true.以使用caffe的python接口
第24行<CuDnnPath></CuDnnPath> 这一行不要做修改 网上很多教程说这里要添加cudnn的路径,我的经验是只有不做任何修改,才可以成功编译caffe
第48行<PythonDir>C:\ProgramData\Anaconda2\</PythonDir> 如果你在前面使用了PythonSupport 这里要用Python的路径替换C:\ProgramData\Anaconda2\
六:设置编译属性
使用vs2013打开caffe.sln
菜单栏选择: dubug -> libcaffe Properties
【选择编译类型
在弹出的窗口左侧选择:Configuration Properties ->General在窗口第一行(configuration)选择Active(Release),(platform)选择 Active(x64)
【关闭 视错误为警告
在窗口左侧选择 Configuration Properties ->C/C++在右侧窗口 Treat Warnings As Errors 行 右侧 选择 No(/WX-)
七:编译
先编译libcaffe
在右侧解决方案管理器中 找到 libcaffe右键 -> build
等一会儿,编译完成后,如果没有报错,就说明编译成功了
然后编译整个解决方案
在解决方案管理器中找到 solution(caffe)右键 -> build
等待编译成功后,在caffe解压路径中打开 *\caffe-master\Build\x64\Release
该路径下的东西就是编译生成的各类文件,可以看到名为 caffe.exe的文件就说明编译成功了。
八:测试caffe
打开命令行窗口
转到 .\build\x64\Release路径下(在命令行窗口输入 D:修改根目录 然后输入 cd D:\caffe-master\Build\x64\Release)
输入 caffe运行:
九:下载minist数据集
官网地址:http://yann.lecun.com/exdb/mnist/
选择:train-images-idx3-ubyte、train-labels-idx1-ubyte 、t10k-images-idx3-ubyte和 t10k-labels-idx1-ubyte下载
在*\caffe-master\data\mnist路径下新建文件夹 mnist_train_lmdb 和 mnist_test_lmdb,
把train-images-idx3-ubyte和train-labels-idx1-ubyte放到 mnist_train_lmdb 文件夹中
把t10k-images-idx3-ubyte和 t10k-labels-idx1-ubyte放到 mnist_test_lmdb 文件夹中
十:制作 lmdb格式数据集
在*\caffe-master路径下创建批处理文件:
新建文本文档,输入:
.\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_train_lmdb\train-images.idx3-ubyte .\data\mnist\mnist_train_lmdb\train-labels.idx1-ubyte .\examples\mnist\mnist_train_lmdb
echo.
.\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_test_lmdb\t10k-images.idx3-ubyte .\data\mnist\mnist_test_lmdb\t10k-labels.idx1-ubyte .\examples\mnist\mnist_test_lmdb
pause
保存后,重命名为create_mnist.bat
双击执行。
第一次创建的时候忘记截图了,这里就不放图了。
十一:LeNet网络训练
在*\caffe-master路径下创建批处理文件:train_lenet.bat
文件内容:
SET GLOG_logtostderr=1
"./Build/x64/Release/caffe.exe" train --solver=examples/mnist/lenet_solver.prototxt
pause
双击执行。