win10配置caffe环境及python接口(GPU加速)
本文使用的caffe windows环境配置为:
VS2015+CMake3.9.2+Python3.5+Anaconda3-4.0.0(X64)+CUDA8.0(x64)+cuDNN v6.0(x64)
前期准备
- 首先从BVLC/caffe上下载caffe源码,选择好路径后下载。下载过后,会得到一个caffe-windows.zip文件,解压到指定位置。
- 下载cmake 下载地址;
- cuda安装和cudnn配置
cuda安装和配置
1.下载并安装cuda,一定要选择对应的版本,要不然会安装失败的。现在我演示的是64位win10,所以就选择对应的版本下载。安装过程比较简单,双击安装,选项建议都默认,一直点击确认或者下一步,直至安装成功即可。
2.下载cudnn,这是用来加速深度网络训练的。下载cudnn需要登陆,你可以直接用邮箱注册一个,然后登陆下载就好了。下载完后,你会发现,cudnn不是一个软件,而是一个压缩包,我下载的就是:cudnn-8.0-windows10-x64-v6.0.zip。
3.配置cudnn。cudnn解压后得到的cuda文件夹下有bin、include、lib三个子文件夹,现在需要将这三个文件夹下的东西分别放到之前cuda的安装目录下的对应文件夹下。之前已经安装过cuda,cuda的安装目录默认为:C:\Program Files\NVIDIA GPU Computing Toolkit\,现在就只需要:
-将cudnn解压后得到的cuda文件夹下的bin下的cudnn64_6.dll(cudnn后面的数字可能不一样,这就是版本问题,如果是cuda 8.0 建议搭配我这个版本的cudnn,否则可能会出现问题)文件拷贝到cuda安装目录下的bin目录下;
-将cudnn解压后得到的cuda文件夹下的lib文件夹下的x64文件夹下的cudnn.lib拷贝到cuda安装目录下的lib文件夹下的x64目录下
-将cudnn解压后得到的cuda文件夹下的include文件夹下的cudnn.h拷贝到cuda安装目录下include文件夹下
caffe配置
1.到解压出的caffe-window文件下的scripts编辑build-win.cmd文件,如图,红色部分根据自己机子情况修改
2.打开cmake,如图配置
红色箭头指的就是你下载的caffe源代码解压后的根目录,cmake通过源码configure好caffe项目文件后,会生成一个新的目录,这个目录你需要自己新建,绿色箭头就是你指定的这个目录。配置好这两个后,直接点击左下方的configure按钮,这个时候cmake会让你选择用什么编译器,这个时候就选择之前安装的Win64位VS2015点击finish按钮就可以了
3.接下来看下面步骤
步骤:点击下面的configure按钮,此时会在C盘C:\Users\用户名.caffe\dependencies\download下载一个libraries_v140_x64_py35_1.1.0.tar.bz2文件,下载很慢,会报错,建议自行下载libraries_v140_x64_py35_1.1.0.tar.bz2放入到该目录下,然后重新点击configure按钮,再出错按上图红色框设置相应属性。成功后点击Generate按钮,完然点击Open Project进入到vs2015。常见的错误:
Could not find url for MSVC version = 1800 and Python 3.5…这个时候取消勾选蓝色区域的选项就行。如图:
使用VS2015编译caffe
1.待caffe加载完成后,鼠标右击ALL_BUILD,将其设为启动项,如下图:
2.然后右击ALL_BUILD上面的 解决方案’Caffe’ , 点击属性,打开属性页,然后修改下图中勾画出的部分,配置改为Release,平台改为x64,点击配置管理器,在上面也做相同修改。修改完成之后,点击确定即可
3.完成配置后,现在开始编译了!同样,鼠标右击 解决方案’Caffe’ ,点击 生成解决方案 选项即可。
接下来就是一段漫长的编译过程。编译完成后,VS2015下方的输出会显示成功多少个,失败多少个,如果有失败的,那么请重新编译。
使用Python界面(官方)
推荐的Python发行版是Anaconda或Miniconda。要成功构建python接口,您需要添加以下conda通道:
conda config --add channels conda-forge
conda config --add channels willyd
并安装以下包:
conda install --yes cmake ninja numpy scipy protobuf==3.1.0 six scikit-image pyyaml pydotplus graphviz
如果安装了Python,默认是构建python接口和python层。如果您希望禁用蟒蛇层或Python构建使用CMake的选项-DBUILD_python_layer=0和-DBUILD_python=0分别。要使用python接口,您需要将C:\Projects\caffe\python文件夹添加到python路径或将C:\Projects\caffe\python\caffe文件夹复制到您的site_packages文件夹。
验证一下编译的结果
接下来运行一下caffe项目自带的examples里的00-classification的代码来验证一下caffe是否能够正常运行
1.打开anaconda的命令行,进入caffe的examples目录,运行jupyter notebook
2.在打开的notebook中打开caffe自带的例子 00-calssification.ipynb
这是用一个训练好的Caffe模型来预测动物图片的例子,图片默认是使用Caffe项目里examples\image\cat.jpg。
3.一路Shift+Enter运行下去,看到第8步predicted输出
predicted class is: 281
第9步输出
output label: n02123045 tabby, tabby cat
预测结果是猫,说明caffe已经正确编译而且能运行了。
[1]: https://www.cnblogs.com/jerrybaby/p/8385227.html
[2]: https://github.com/BVLC/caffe/tree/windows
[3]: https://software.intel.com/zh-cn/node/753918?language=es