在windows上搭建深度学习平台

前言

目前最流行的windows深度学习框架是tensorflow,由谷歌设计。在tensorflow之上,有一个高级封装的库,叫keras,写起来很省事。但是,在windows上搭建tensorflow-gpu平台非常困难。当然,CPU版本很容易,不过训练效率太低。纪念一下填过的各种坑。
如果之前装过CUDA,删除后再装新的装不上,可以用DDU把显卡驱动删干净,再试试。

流程

  1. install anaconda
  2. install visual studio 2017
  3. install CUDA
  4. install cudnn
  5. install tensorflow-gpu version
  6. install keras

警告:不要安装tensorflow cpu版本,有的话赶紧删了,可能会使得gpu版本安装失败。

Anaconda

这是一个很好用的开发环境,省去很多事,自带许多库。请直接在官网下载最新版,即python 3.7版本。
安装后,需要降级为3.6.8,至少目前需要,因为tesnsorflow和keras对python 3.7支持不算好。
具体方法,打开Anaconda Prompt,一个类似命令行的东西,控制anaconda环境python各种库的安装。输入:

conda install python=3.6.8

等待提示(y/n),输入y,开始下载安装,完成后就会提示done。此时,python3.7已经退回到python3.6.8了。
在Prompt中输入python,看一看版本对不对。

Visual Studio

Visual Studio的安装对于整个部署来说很重要,他是个环境,Visual Studio一般在微软官网下载即可。要注意版本,2017版就没问题。具体安装可以百度一下,也要当心有坑。

CUDA

CUDA对于深度学习很关键,请查看自己显卡型号,在下面网址里看一看兼容性。一般,CUDA 9.0就可以对付了。https://www.nvidia.cn/object/cuda_learn_products_cn_old.html
例如,我的显卡是GTX 960M,安装CUDA 9.0。

参考

这是官网的支持,我们可以看到CUDA 9.0都能对付。
CUDA直接在NIVIDA官网下载即可,选择local版本,而不是联网版本。

以下是每个步骤需要注意的点:

1、安装时选择“自定义”,然后下一步有一个安装目录,建议不要更改。
2 、下一步,不要勾选Visual Studio Integration。
3、安装完成。如果说安装失败,别沮丧,看一看是哪个模块没装上。我的shadowplay模块一直也没装上,但也不影响使用。基本都装上,就可以了。
进入CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions后看见有四个文件,将这四个文件拷贝到Visual Studio的对应目录下,参考路径:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations
4、退出安装程序,打开cmd然后输入“nvcc -V”,如果安装正确的话会看到CUDA版本信息。
5、关于环境变量的问题,反正我没配置,也成功了。CUDA自己会配置好两个路径,应该够用了。不是很专业不要再配置环境变量了。

CUDNN

这玩意不用安装,它是一些写好了的帮助计算的函数。在官网下载CUDNN,需要先注册账号,选择跟CUDA版本对应的cuDNN版本。下载后解压压缩包,分别将文件夹下三个文件拷贝到CUDA目录下相应同名文件夹内:

Copy \cuda\bin\cudnn64_7.dllto C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin.
Copy \cuda\ include\cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include.
Copy \cuda\lib\x64\cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64.

bin对应bin,include对应include,x64对应x64

验证安装是否成功

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\demo_suite找到deviceQuery.exe和bandwidthTest.exe,注意需要在cmd里运行,先运行bandwidthTest.exe再运行deviceQuery.exe,留意运行结果的最后是否result = PASS,如果两个文件都是,那么说明CUDA能够和底层硬件正常沟通。

tensorflow-gpu

在Anaconda Prompt中输入:

pip install tensorflow-gpu==1.12.0

成功后,输入:

python
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

没报错且查看日志信息若包含gpu信息,就是使用了gpu。 如果没有,就是安装失败了。
emmm, just wait for a minute
事实证明,1.12.0在后来训练程序时直接报错,还是版本不对应。解决办法是降到1.9.0。说白了就再装一次就行,会自动删除以前的。

keras

pip install keras -U

调用一下,应该会显示使用tensorflow后端。

R

这些都成功后,在R里直接装个keras基本就完事了。很方便。

鸣谢

https://blog.csdn.net/weixin_39671140/article/details/84585072

你可能感兴趣的:(在windows上搭建深度学习平台)