WIN10安装TENSORFLOW(GPU版本)详解(超详细,从零开始)

Data is food for Artificial Intelligence

我安装TENSORFLOW的时候走了很多弯路,入了很多坑,所以特此写下攻略希望能帮助到更多小白。流程如如下。

image

安装前:请先安装ANACONDA,对于WINDOWS来说还是用ANACONDA来安装比较方便一些。安装好ANACONDA后,要添加环境:

image

接下来开始安装TENSORFLOW。

第一步,确定你的安装类型:1)支持GPU类型,还是2)CPU类型

【一般如果做深度学习,最好安装GPU类型,因为运算速度更快】

第二步,如果是CPU类型,按照官网的说法一步一步来就行了。

如果是GPU类型,首先需要查看自己电脑的GPU型号,步骤如下。

imageimage

然后用谷歌搜索“你的GPU型号+SPECIFICATION”,在官网查它是否支持CUDA

image

第三步,重要的事情说三遍:
请看清楚你需要的TENSORFLOW型号,以及它需要的环境!

请看清楚你需要的TENSORFLOW型号,以及它需要的环境!

请看清楚你需要的TENSORFLOW型号,以及它需要的环境!

有人问在哪里看型号,这个在TENSORFLOW的官网上可以查到的,稍微动动手就能找到了。如下图所示

image

如果你是需要跑某一个特定程序,那么它可能在特定的TENSORFLOW版本下才运行良好。而每一个版本对应的所需环境都不一样。一定要严格按照规定来安装。

以TENSORFLOW1.0来说,你需要安装CUDA® 工具包 9.0和cuDNN v7.0。

【下面是坑】

以2018年5月20日为基准,此时你登录CUDA官网直接下载的时候,首页默认下载下来的是CUDA 9.2, 这样当你全部安装完的时候会发现TENSORFLOW1.0跟他不兼容。所以一定要下载9.0版本。这个版本需要你自己单独点到CUDA Toolkit Archive里去找出来。

image

安装好后,输入

进行测试,如果显示如下,证明你安装成功了。

image

接着去下载CUDNN 7.0,同前,注意型号。下载CUDNN需要去官网注册一个什么东西,总之需要注意版本就好。【我下载的是CUDNN7.0.5, 只要在7.x.x 版本范围内都可以】

第四步,添加环境

image

接着是CUDNN的安装:

首先在命令窗口进入你安装CUDNN的那个文件夹,进入之后,开启bash模式(win10自带的bash,直接输入bash就行了,如果bash出问题,那可以再windows store里面下载一个ubuntu for windows,当然这里也有别的cudnn的安装方法,这里我只是写了一个我个人的喜好方式。)

image

然后输入

cat include/cudnn.h | grep CUDNN_MAJOR -A 2

如果显示如下图就说明安装成功

image

检查完输入exit退出bash模式

image

第五步

接下来开始用ANACONDA安装TENSORFLOW,

1)在ANACONDA里创建名为TENSORFLOW的环境(你可以叫他任何名字,这里我叫这个环境为TENSORFLOW。

conda create -n tensorflow pip python=3.6

这里pip python=3.6的意思是在名为tensorflow的环境里搭建版本是3.6的python。

2)发出以下命令以激活 conda 环境:

activate tensorflow

image


3)发出相关命令以在 conda 环境中安装 TensorFlow。请输入以下命令:

(tensorflow)C:> pip install --ignore-installed --upgrade tensorflow-gpu

假如你想安装某个特定版本的tensorflow,可以输入如下命令,根据自己的喜好,替代那个1.8.0即可:

pip install --ignore-installed --upgrade tensorflow_gpu==1.8.0

4)测试是否安装成功

在ANACONDA窗口的tensorflow的环境中,跑一个test.py,看是否能运行成功。

如下图,得到了“Hello World”证明一切安装顺利。

image

test.py的内容如下

import tensorflow as tf
# Create TensorFlow object called tensor
hello_constant = tf.constant('Hello World!')

with tf.Session() as sess:
    # Run the tf.constant operation in the session
    output = sess.run(hello_constant)
    print(output.decode())# bytestring decode to string.

以上就是全部安装内容啦!!!撒花。

------2018年5月23日更新------

经知友提示,上述test.py代码只是检测了tensorflow是否安装成功。

如果想要检测tensorflow的确用gpu来做运算了,请用以下脚本测试

import tensorflow as tf
# Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
# Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# Runs the op.
print(sess.run(c))

测试结果如下图

image

图中

device:GPU:0

的意思就是说该运算用到了GPU。

如果想手动声明让电脑用CPU运算,请参考官方文档

https://www.tensorflow.org/programmers_guide/using_gpuwww.tensorflow.org

坑:

  1. 在运行测试脚本的时候显示一下报错:
AttributeError: module 'tensorflow' has no attribute 'constant'

有可能是你把测试文件命名为了tenforflow.py,导致import 的时候import成了这个脚本,因此需要把tensorflow.py随便改成别的名字,比如test.py。

2.当你需要删除tensorflow package的时候,如果安装的时候是用pip安装的,那么删除的时候也要用pip。 同理,用conda安装的要用conda指令来删除。如下图,tensorflow-gpu,显示是用pip安装的(请见前面第五步有讲到安装过程,官网推荐是用pip安装。)

image

3.为啥我全部安装正确也测试TENSORFLOW安装成功(运行上述test.py成功),但是测试GPU的时候失败,显示一直是CPU在运行?

这可能是之前你用CONDA安装过CPU版本的TENSORFLOW,或者ANACONDA自带TENSORFLOW造成冲突。你需要删除原有的TENSORFLOW重新安装即可。用CONDA指令或者PIP指令删除然后重新安装就可以了。

4. 在安装完ANACONDA后,使用jupyter notebook的时候,有可能会出现这样的报错

ImportError: DLL load failed: 找不到指定的模块。

这个时候只要把如下的额外两个环境变量添加以后,就可以正常在命令窗口通过输入jupyter notebook来启动了。

image

为您推荐了相关的技术文章:

  1. VRouter: 一个虚拟路由器, 旨在实现 OS X/macOS 上的透明代理
  2. 轻松组建分布式 pyspider 集群 - imlonghao
  3. SSTap支持SS/SSR全局代理,配置简单,愉快的玩游戏 - 教程资源|软件 - 如有乐享
  4. 利用 Huginn 将微信公众号转化为 RSS 订阅
  5. 越狱ios禁止SSL Pinning抓App Store的包 - 硬糖

原文链接: zhuanlan.zhihu.com