笔者之前一直在ubuntu环境下进行深度学习相关工作,最近买了一台新ThinkPad P51笔记本(当然是windows系统咯),因而想在这windows系统上面搭建一个小型的进行一个快速验证的环境,所以今天捣鼓了半个下午,成功搭建完毕,在此记录一下整体的过程,可以为以后方便查阅,及分享给大家。
笔记本硬件:Thinkpad P51, Inter XEON-1535M, NVIDIA M2200 (支持GPU加速即可);
必须安装软件:Anaconda3, CUDA8.0, cudnn v7.0.4
深度学习框架:Tensorflow, Visual Studio 2013, Pycharm-主要问题:切记一点,不要盲目追求最新的驱动及软件,因为大量最新的依赖软件跨版本升级会修改之前内部函数的功能,使得原来能正常运行代码报错,以及不再支持与它相关依赖之间的相互调用,初学者大部分的坑基本都是这种情况。笔者当前经过各种尝试,初步摸索完各个依赖之间的版本组合,在此统一介绍出来,这些之间大部分是最新的版本,所以可以用一阵子好好做研究了,不要再去管各种依赖版本的事情了。
如果想做深度学习,不用CUDA来加速训练那就很痛苦了,因为GPU的运算速度比CPU快的不是一点点,加速效果与显卡不同有差异,一般普通GTX显卡能提示数十倍的加速,如在GPU上跑1分钟,而在CPU上需要跑一小时,这是难以忍受的。
检查自己电脑独显是否支持CUDA
确定好自己显卡型号之后,可以从下面的网址查看自己的显卡是否在支持之列。如果你的显卡比较新,到这里检查是否支持CUDA:https://developer.nvidia.com/cuda-gpus;如果你的显卡很老,请到如下链接检查是否支持CUDA:https://developer.nvidia.com/cuda-legacy-gpus。
如果自己GPU不支持CUDA,那本文就不太适合你了,你可以最后直接安装CPU版的Tensorflow了。我电脑显卡为 Quadro M2200,支持CUDA加速功能。
CUDA 8.0 下载与安装
可以直接在CUDA官网进行下载,我目前正常工作的版本为CUDA8.0版本,如果官网有新的CUDA版本,大家不要追求新奇,一定要确认没有依赖等等冲突的问题自行下载最新的,如果在官网首页找不到CUDA8.0,大家也不要慌,可直接在网页右上角搜索栏搜CUDA8.0就能看到之前的版本了,或者点击该传送门:CUDA历史版本。当然方便起见,也可以在我的网盘的下载地址直接下载。
依照图中的操作:
Double click cuda_8.0.61_win10.exe
Follow on-screen prompts
CUDA 8.0 验证安装成功
打开Windows PowerShell 命令提示符,输入:nvcc -V
可以看到如下信息:
但是,这样并不代表安装成功了。等把CUDA_Samples示例编译通过不报错了,才能算是成功。(笔者注:强迫症患者或者赶时间的可以暂时忽略这里的CUDA_Samples的编译出错问题,个人测试发现就算出错也不影响tensorflow-gpu的使用)
编译CUDA 8.0 Samples
1、在 C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0 目录下,有CUDA的示例程序。由于我安装的是VS2013,所以我打开Samples_vs2013.sln那个解决方案文件,将解决方案配置更改为Release和x64.使用Release模型,由于所有程序安装包用的都是64位版本,所以改为x64比较好。
2、右键单击,编译整个解决方案。如果不出意外,将会编译成功。如果提示是缺少d3dx9.h、d3dx10.h、d3dx11.h头文件 ,说明前面安装DirectX SDK没有安装好,重新安装下DXSDK_Jun10.exe,再次编译。
3、关闭VS2013,在C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目录下找到deviceQuery.exe这个文件。打开一个cmd窗口,定位到 c:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目录,输入:deviceQuery.exe ,然后回车。若出现CUDA相应的字样输出信息时,说明CUDA 8.0 安装成功了:
官方宣称 cuDNN可以在前面GPU加速基础上大概再提升1.5倍的速度,它由nVIDIA开发。可以到nVIDIA官网上下载。下载之前需要注册. 官方下载网址与笔者网盘传送门下载。因为准备安装的Tensorflow的需要,只能用cuDNN v6.0才能使用, 在此进行下载,图片中为cuDNN官方网站已圈出需要下载的文件。
下载后的文件名为cudnn-8.0-windows10-x64-v6.0.zip文件,下载完成后进行解压缩,里面有bin、include、lib三个目录文件夹,分别对应有cudnn64_6.dll、cudnn.h、x64\cudnn.lib三个文件,直接选中该3个目录文件夹,直接拖到安装CUDA 8.0 的地方文件夹,默认文件夹为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0,其会自动将相应的文件夹复制到对应的文件夹中,即可完成cuDNN v6.0的安装。
Anaconda包含很多科学计算的包,例如numpy、scipy等等,可以为你省去不少麻烦,它的官网在这里:https://www.continuum.io/downloads ,下载最新的Anaconda 4.2版本,Python版本选择3.6 64bit的那个版本。
建议大家安装到根目录下,我安装在以下目录:C:\SoftWare\Anaconda3
安装时,在Install Options那个界面,建议选择[Add Anaconda to the system PATH enviranment variable]与[Register Anaconda as the system]选项,这样不用人为再去添加环境变量。
Python开发安装包时,使用pip进行包安装非常方便。但pip默认的源服务器在国外,下载非常慢,而且经常出现下载后安装出错问题。因此,有必要更换为国内的pypi源。
对于windows来说,直接在当前用户目录下(C:\Users\USER-NAME)新建pip文件夹,并在其中新建一个pip.ini文件,例如:
c:\Users\LBAWMY\pip\pip.ini
pip.ini的文件内容如下:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
上面是将源更换为了的阿里爸爸的源,输入完成后,记得保存。
当需要更改为清华源时,pip.ini中的文件内容如下:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
虚环境的重要性,在这里我就不赘述了,在cmd下利用anaconda运行下面命令创造一个python3.6的环境:
conda create –name tensorflow python=3.6
此命令会在Anaconda安装目录下的envs文件夹下创建tensorflow文件夹,此对应于一个虚环境。
首先从开始菜单进入Anaconda Prompt下,激活(或切换不同python版本)的虚拟环境。
打开命令行输入python –version可以检查当前python的版本。
使用如下命令即可 激活你的虚拟环境(即将python的版本改变),在此激活刚刚创建的虚环境:activate tensorflow
虚环境下安装pip:conda install pip
若需要关闭虚环境:deactivate
主要分为两种方式,任选其一:
从开始菜单中打开Anaconda Prompt,在命令行中输入:python,再输入:
import tensorflow as tf
sess = tf.Session()
a = tf.constant(520)
b = tf.constant(1314)
print(sess.run(a + b))
如果正确打印出结果1834,不报错,说明tensorflow安装成功。