Tensorflow有两个版本:GPU和CPU版本,CPU的很好安装;GPU 版本需要 CUDA 和 cuDNN 的支持,如果你是独显+集显,那么推荐你用GPU版本的,因为GPU对矩阵运算有很好的支持,会加速程序执行!并且CUDA是Nvidia下属的程序,所以你的GPU最好是Nvidia的,AMD的显卡没有CUDA加速!满足以上条件之后,你需要查看一下你的英伟达GPU是否支持CUDA,以下是Geforce支持的目录:

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python

   鼠标右击, 查看 NVIDIA 控制面板 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_02

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_03

我的显卡是 1050 ,  在上面表中有对应的算力是 6.1 。 博主电脑GPU是支持 CUDA 的 。

首先我们是在 Anaconda 环境下进行下面的操作, 因此先下载 anaconda . 

 

第一步:安装Anaconda

1.下载和安装

下载地址:​​https://www.anaconda.com/download/​

 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_04

 

当然也可以下载最新版本的  . 

我系统是64位,所以下载 ​​64-Bit Graphical Installer (631 MB)​​,之后就是进行安装了。

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_05

 

和安装其他软件没有什么区别,需要注意的是这一步,不要勾选**“Add Anaconda to my PATH enviroment variable”,我们后面会手动加入。

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_06

 

接下来就是等待了,安装结束后需要测试是否能正常使用,打开CMD输入“conda”命令,发现提示“'conda' is not recognized as an internal or external command, operable program or batch file.”

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_07

这是由于我们没有配置环境变量的原因。

2.配置Anaconda环境变量

点击环境变量

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_tensorflow_08

选择“Path”,点击“编辑”

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_09

 

将以下三个路径加入,注意这里要换成你自己的安装路径。

  • C:\Users\t-yaoguo\AppData\Local\Continuum\anaconda3
  • C:\Users\t-yaoguo\AppData\Local\Continuum\anaconda3\Scripts
  • C:\Users\t-yaoguo\AppData\Local\Continuum\anaconda3\Library\bin

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_tensorflow_10

然后点击“确定”保存,这回再测试一下,再cmd中输入“conda -V”,能正常显示版本号,证明已经配置好了。

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_11

第二步:安装TensorFlow-GPU

1.创建conda环境

通过调用下列命令,创建一个名为“tensorflow”conda环境:

(1)先设置清华源镜像 :  

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

 

(2)然后.在开始菜单中找到Anaconda Prompt,双击运行

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_12

打开以后是这样的 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_13

(3)   输入  :   conda create -n tensorflow-gpu  pip python=3.6.4 

在 anaconda 环境下 创建一个虚拟环境,名字叫 tensorflow-gpu 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_14

创建成功之后 , 输入命令 :  activate tensorflow-gpu         激活环境, 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_15

这样就好了.

3.安装tensorflow-gpu

安装GPU版本的tensorflow需要输入以下命令: (默认是最新版本的 )

pip install --ignore-installed --upgrade tensorflow-gpu

注意:务必注意一点,在安装完tensroflow后,由于我们是新创建的conda环境,该环境中基本上是空的,有很多包和IDE并没有安装进来,例如“Ipython”“spyder”此时如果我们在该环境下打开spyder/Ipyton/jupyter notebook等,会发现其实IDE使用的kernel并不是新建立的这个环境的kernel,而是“base”这个环境的,而“base”环境中我们并没有安装tensorflow,所以一定无法import。这也就是为什么有很多人在安装好tensorflow后仍然在IDE里无法正常使用的原因了。

通过以下命令安装Anaconda基础包

conda install anaconda

这回,我们测试一下是否能import tensorflow

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_16

程序报错,这是由于我们虽然安装好了tensorflow-gpu,但是还需要安装CUDA Toolkit 和 cuDNN。

第三步:安装CUDA Toolkit + cuDNN

(1) 查看当前tensorflow 版本需要的 cuda ,cuDnn 版本 

在这个路径下 : (按照你下载anaconda3 的 路径找 ,先在 env 下 找到 tensorflow-gpu ...)

C:\Users\zhs\Anaconda3\envs\tensorflow-gpu\Lib\site-packages\tensorflow\python\platform

找到  build_info.py 文件 (用 Pycharm 打开) 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_tensorflow_17

可以看到当前 tensorflow-gpu 版本的 对应的 cuda 是 10.0   ,cudnn 是 7 .(哈哈) 

这样下载对应版本就行了. 

在这个网址查找CUDA已发布版本:​​https://developer.nvidia.com/cuda-toolkit-archive​

 

下载好CUDA Toolkit 9.0 后,我们开始下载cuDnn 7.0,需要注意的是,下载cuDNN需要在nvidia上注册账号,使用邮箱注册就可以,免费的。登陆账号后才能下载。

cuDNN历史版本在该网址下载:​​https://developer.nvidia.com/rdp/cudnn-archive​

下载好 和 cuDnn 7.0,开始安装。

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_tensorflow_18

至关重要的一步:卸载显卡驱动

由于CUDA Toolkit需要在指定版本显卡驱动环境下才能正常使用的,所以如果我们已经安装了nvidia显卡驱动(很显然,大部分人都安装了),再安装CUDA Toolkit时,会因二者版本不兼容而导致CUDA无法正常使用,这也就是很多人安装失败的原因。而CUDA Toolkit安装包中自带与之匹配的显卡驱动,所以务必要删除电脑先前的显卡驱动。

安装

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_19

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_20

此处选择“自定义(高级)”

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_21

勾选所有

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_22

一路通过即可。

接下来,解压“cudnn-9.0-windows10-x64-v7.zip” 

得到 : 

一个cuda 的文件夹 ,打开, 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_23

因为我们显卡驱动是默认路径: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_24

我们把 解压得到的 cuda 里面的  bin 里面的 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_25

把cudnn64_7.dll 复制粘贴到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin 

把解压得到的 cuda 里面的 include 里面的 cudnn 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_26

把 cudnn 复制粘贴到  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include  这里面来 . 

把 cuda\lib\x64 的  cudnn,.ib   复制粘贴到  C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_27

 

这样CUDA Toolkit 9.0 和 cuDnn 7.0就已经安装了,下面要进行环境变量的配置。

配置环境变量

将下面四个路径加入到系统环境变量中,注意要换成自己的安装路径。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\libnvvp

到此,全部的安装步骤都已经完成,这回我们测试一下。

第四步:测试

1.查看是否使用GPU

import tensorflow as tf

tf.test.gpu_device_name()

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_28

 

2.查看在使用哪个GPU

from tensorflow.python.client import device_lib

device_lib.list_local_devices()

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_tensorflow_29

在 Anaconda Prompt 终端上 输入 python (别忘了在 tensorflow-gpu 环境下测试哦) 

1  如果出现 :

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_30

是因为还没安装 cuda 10.0 , 需要安装哦 , 也就是双击 你下载的那个 .exe 文件 . 还有就是重启电脑后,别忘了 更新驱动

,如果你没有更新驱动, 你在桌面上右击, 不会出现 NVIDIA 控制面板的

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_02

 

2  如果出现 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_tensorflow_32

这是因为 numpy 的版本高的缘故, 当然可以 之间到 错误提示所在的路径下的 py文件直接修改.

举个例子 : 

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_33

打开它 ,  找到第 540 多行 ,修改成下面这样

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_34

 

warning 修改完之后就好了 , 

当然如果 在 pycharm  下用这个环境下的 gpu 还得操作一把

打开 pycharm , 点击File -> setting ,

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_python_35

点击 Project interpreter 那个小齿轮, add local...

然后在 Existing environment 下 指定 intepreter 为 : C:\Users\zhs\Anaconda3\envs\tensorflow-gpu\python.exe 

 这是我电脑上的

Win10 Anaconda下TensorFlow-GPU 环境搭建详细教程 (CUDA 10.0  +  cuDNN 7.0 + tensorflow-gpu 1.14.0)_CUDA_36

然后就可以用了, 只不过这个环境下好多模块还没下载