基于Cuda9.1 + Cudnn7.0 + VS2013在Win10上同时安装Tensorflow1.6和Caffe
最近,自己电脑的系统坏掉了,平时总是用Windows来写论文和文档,而用Ubuntu来做深度学习的训练,因此在自己的本子上安装了Win10和Ubuntu双系统,但是双系统非常容易损坏,尤其是当Ubuntu系统升级时,每次系统坏掉,总要重装一遍Tensorflow和Caffe,前者还比较容易,Caffe的编译和安装实在是头痛,一不小心就会出现各种奇葩的报错。因此,我这次痛下决心,将Ubuntu系统删掉了,只留了一个Win10系统,这逼着我在Win10系统上同时安装好Tensorflow和Caffe两大利器,经过一番折腾,功夫不负有心人,终于成功了,再此写出来,以方便大家。
如果大家在Win10上安装Tensorflow和Caffe的过程中有任何的问题,欢迎来到并关注我的技术微博 [ @MachineLearning-ZJU ],以及留言和讨论
本文的运行环境以及需要安装的软件如下:
- 系统平台:Win10
- 驱动软件:Cuda9.1
- 加速库:Cudnn7.0(与Cuda9.1对应的版本)
- *编译工具:Visual Studio 2013
- 深度学习框架:Tensorflow 1.6 和 Caffe
- 所需基础:无
本博文一共有三部分,分别是:
- GPU驱动的安装与配置
- Tensorflow的安装过程及注意事项
- Caffe的安装过程及注意事项
GPU驱动的安装和配置
主要软件
- cuda_9.1.85.1_windows
- cuda_9.1.85.2_windows
- cuda_9.1.85_win10
- cudnn-9.1-windows10-x64-v7
前三个从官网地址(https://developer.nvidia.com/cuda-downloads)下载而来,选择自己需要的版本即可。最后一个对应的官网在维护,可从以下链接下载(https://download.csdn.net/download/daringpig/10298485).
具体的安装过程,一直“下一步”就可以了,但是要安装先Cuda9.1后Cudnn7.0.5的顺序。Cudnn7.0.5不用安装,只要将其解压,并将里面的bin、include和lib,拷贝到Cuda安装目录下即可,我的目录是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1,自己根据具体情况具体分析。
Tensorflow的安装过程及注意事项
Anaconda3下载
Anaconda3安装
安装过程中一直下一步即可,注意此处:
Anaconda3运行
安装好了后,运行开始菜单—>Anaconda3—>Anaconda Prompt
,在命令行中输入conda list
Tensorflow安装
在anaconda基础上安装tensorflow需要做一下事情:
- 换源: 为了加速软件的下载
- 配置环境: 为了防止不同的环境相互影响
- 安装依赖包: 不同的配置环境下需要不同的依赖包
##换源##
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
#为Tensorflow创建环境
conda create -n tensorflow python=3.6
#为caffe创建环境
conda create -n py2 python=2.7
运行 开始菜单—>Anaconda3—>Anaconda Navigator
,点击左侧的Environments
,可以看到
在Anaconda Prompt
中启动tensorflow环境, 并执行以下程序安装:
#激活tensorflow环境
activate tensorflow
#安装tensorflow,下面二选一
仅CPU:pip install --ignore-installed --upgrade tensorflow
GPU加速: pip install --ignore-installed --upgrade tensorflow-gpu
#激活caffe环境,为后面caffe编译做准备
deactivate tensorflow
activate py2
pip install python2.7
到这里Tensorflow就安装好了,应该安装的就是最新的版本Tensorflow1.6
Caffe的编译过程及注意事项
下载caffe
微软caffe传送门(https://github.com/Microsoft/caffe,由于是在WIN10下安装caffe,因此使用微软的caffe可以节约不少时间)
编译caffe
下载完成后,解压caffe【解压目录中最好不要有中文目录】
编译工具为VisualStudio2013【VS2013亲测可用,其余版本VS需考虑兼容性】
配置项目属性
1)caffe-master/windows下 CommonSettings.props.example 文件复制一份重命名为CommonSettings.props
2)打开caffe工程(caffe-master/windows/caffe.sln)
打开时会自动安装VS的一些扩展套件【也有可能是其他依赖项,需耐心等待】
将CommonSettings.props中caffe版本改为9.1
如果要编译pycaffe,则添加上面py2的路径,我的路径是C:\Users\learner\Anaconda3\envs\py2
3)为caffe libcaffe 添加cuda的项目属性表。将该目录下
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\extras\visual_studio_integration\MSBuildExtensions
项目属性表拷贝到VS2013对应的目录中去,我的路径是C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations
4)设置编译器不讲警告视为错误。
5)先仅编译生成 libcaffe 时会报错 error: too few arguments in function call,进而导致后面124个错误。
双击查看报错函数 cudnnSetConvolution2dDescriptor,在参数列表末尾补充一个参数 CUDNN_DATA_FLOAT 或CUDNN_DATA_DOUBLE即可。
6)编译生成 caffe 至此整个环境配置完成。