Win10深度学习环境配置(CUDA+cuDNN+TensorFlow-gpu+Keras)

安装时间:2018-05-19

软硬件配置
GTX 1060 6G
Win10 64位专业版
Anaconda3 5.1.0

深度学习工具
CUDA 9.0
cuDNN v7.0
TensorFlow 1.8.0(GPU版)
Keras 2.1.6

一、安装VS2015
首先,下载“[Windows][编程开发][Visual Studio Community 2015][with Update 3][官方简体][光盘镜像]”。
选择自定义,点击下一步,记得在编程语言(Programming Languages)中只需安装C++组件,点击下一步,安装位置可以自选,其他全部按照默认。
Win10深度学习环境配置(CUDA+cuDNN+TensorFlow-gpu+Keras)
Win10深度学习环境配置(CUDA+cuDNN+TensorFlow-gpu+Keras)
二、安装CUDA
TensorFlow官网的安装指导要求先安装CUDA 9.0和cuDNN v7.0。
于是下载CUDA 9.0,选择对应版本的exe(local)安装包。
Win10深度学习环境配置(CUDA+cuDNN+TensorFlow-gpu+Keras)
可是我的CUDA安装一直失败。
Win10深度学习环境配置(CUDA+cuDNN+TensorFlow-gpu+Keras)
经过多次试错,终于明白,是因为我已经安装了最新的显卡驱动,而CUDA9.0所依赖的显卡驱动比我的驱动版本低,导致不匹配,安装失败。
我的解决办法:
  1. 卸载所有的NVIDIA驱动。在控制面板卸载所有的NVIDIA驱动(中间可能要多次重启电脑),然后在C盘删除所有带有NVIDIA字样的文件夹,最后在注册表删除NVIDIA项。
  2. 安装CUDA 9.0,按照默认安装即可。
注意:默认安装已经将CUDA的安装目录添加到系统变量Path,因此不用再手动添加。

三、安装对应版本cuDNN
TensorFlow官网的安装指导推荐的是cuDNN v7.0。首先去下载,这是地址,按照页面要求填写信息并注册即可下载。解压后将三个文件夹复制到CUDA的安装目录(默认为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0)覆盖原有同名文件夹。
Win10深度学习环境配置(CUDA+cuDNN+TensorFlow-gpu+Keras)
四、测试是否安装正确
参考这篇博主的文章的三.2.(2)小节。

五、安装TensorFlow GPU版本
遵循 TensorFlow官网的安装指导。直接采用pip安装,而没有在Anaconda里设置单独的环境。安装后验证成功。
pip3 install --upgrade tensorflow-gpu

六、安装Keras
遵循Keras中文文档的安装指导
pip install keras -U --pre

       至此配置完毕。

七、其他
运行jupyter notebook程序时出现了错误
could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
*上也有人遇到过这个错误
解决方法:
通过限定GPU显存用量(不全部占满显存, 按需分配)得到解决。具体设置语句就是:
import osimport tensorflow as tf
import keras.backend.tensorflow_backend as KTF

#指定第一块GPU可用
os.environ["CUDA_VISIBLE_DEVICES"] = "0" 
config = tf.ConfigProto()
#不全部占满显存, 按需分配
config.gpu_options.allow_growth=True
sess = tf.Session(config=config)

KTF.set_session(sess)