win10下安装 Keras + Tensorflow + CUDA

Tensorflow的CPU版本已经在电脑面躺了很久了,之前也就是跑跑Github中的例子玩了两下。现在项目中需要用到Keras,它是一个底层支持多种深度学习框架的开发框架,简单来讲就是可以让Tensorflow用起来更简单的东东。当然了不喜欢Tensorflow的小伙伴还可以使用Keras调用Theano或CNTK。

Python版本

强烈建议安装Anaconda来管理Python环境,而且windows版本下的Tensorflow暂时不支持Python2.7。推荐使用Python3.5或者Python3.6。

Keras安装

1
2
# Keras 安装
>>> pip install keras -U

Keras的安装其实非常简单,但是这里其实是没办法直接使用的,我们在使用Keras之前必须把Tensorflow给装上。(可选安装Theano、CNTK等等,本文不述)

Tensorflow安装

1
2
3
4
5
# GPU 版本
>>> pip install --upgrade tensorflow-gpu

# CPU 版本
>>> pip install --upgrade tensorflow

为了不让我的显卡吃灰,因此决定安装一个Tensorflow的GPU版本。我使用的显卡是N卡,因此还需要安装Nvidia家的CUDA Toolkit和CuDNN加速库。据说A卡的小伙伴需要自己编译Tensorflow的OpenCL版本,好像OpenCL可以同时调用CPU和GPU协同运算,具体安装流程我就不是很清楚了。

安装CUDA

CUDA这个东西其实并不是越新的版本就越好。因为我是版本控,所以我在这个坑里死去活来折腾了好久,而网上通篇介绍的都是安装CUDA8.0的版本,我试了一下也没办法启动。最后经过研究发现大家最好的办法就是去看一看自己的显卡参数。

1. 打开控制面板

cuda1

2. 查看Nvidia系统信息

cuda2

3. 查看CUDA版本

cuda3

最初我的电脑里面只安装了8.0的版本,但是查看到的却是10.0,还以为是系统自带的。想着安装一个最新的10.1版本升升级,但是安装后发现Tensorflow仍然无法使用,现实import DLL失败。往复折腾了好久,期间显卡驱动还不明原因崩溃了,重新安装了显卡驱动。最后抱着试一试的心态安装了10.0的版本,结果一次成功。总结各大教程后发现,安装CUDA需要找到最适合的版本才是最好的。

4. 下载地址,请阅读前文再谨慎下载

CUDA官方下载地址
cuDNN官方下载地址

cuDNN需要注册一个Nvidia账号才可以下载,完全免费。
需要下载CUDA对应版本的cuDNN,下载完成后解压覆盖到CUDA的安装目录即可。

测试

1
2
# CMD或者Powershell中输入查看CUDA版本号
nvcc -V

假如正常现实CUDA版本号则表示安装成功,如果不行则需要检查一下CUDA是否成功添加到系统的环境变量。

1
2
# Python Console
>>> import tensorflow as tf

假如不报错则成功安装tensorflow,小伙伴们可以愉快的玩耍了。
假如还报错可能是缺少VC++2015(update3)的运行库,如果已经安装了VC++2017的其实可以无视并检查CUDA的版本。因为2015和2017是二进制兼容的,装了2017再装2015会提示已经安装其他版本。

CUDA 8.0版本安装

本人家里还有一台12年买的笔记本电脑(显卡是540M),突发奇想也安装一个GPU版本的Tensorflow,根据上文提示安装的CUDA8.0版本,然而在我启动的时候却报错了。经过检查后发现CUDA8.0版本虽然对应有cuDNN7.x版本,但是仍然需要安装cuDNN的6.x版本,直接解压到根目录覆盖即可。

Tensorflow对应版本问题

同时需要注意,CUDA8.0最高只能使用Tensorflow-1.4.0版本,最新版本并不支持哦。

1
2
# 安装指定版本的Tensorflow
pip install tensorflow-gpu==1.4.0

cuda3

电费告急,支持一下