TensorFlow的安装之路

  • 0 安装前须知
  • 1 安装Anaconda
  • 1.1 什么是虚拟环境?
  • 1.2 安装Anaconda具体步骤
  • 1.3 添加环境变量(系统变量)
  • 1.4 修改Conda库和pip库的安装源
  • 2 创建虚拟环境
  • 3 安装CUDA
  • 3.1 查看显卡驱动信息
  • 3.2 CUDA版本对显卡驱动的要求
  • 3.3 安装CUDA具体步骤
  • 3.4 CUDA环境变量的添加
  • 3.5 查看CUDA的版本
  • 4 安装cuDNN
  • 4.1 安装cuDNN具体步骤
  • 4.2 查看cuDNN的版本
  • 5 安装TensorFlow
  • 5.1 创建虚拟环境并激活
  • 5.2 TensorFlow的安装命令
  • 5.3 安装TensorFlow具体步骤
  • 5.4 测试TensorFlow是否安装成功
  • 6 写在最后



安装

TensorFlow前,最好按照上述目录这个顺序来操作,即安装

Anaconda,创建虚拟环境,安装

CUDA,安装

cuDNN,安装

TensorFlow,五步走。本文教程主要适合用

gpu跑深度学习的同学,用

cpu跑深度学习的同学可移步至其他文章。


搭建深度学习环境只需要记住一点,

版本匹配

版本匹配

版本匹配!重要的事情说三遍!

0 安装前须知

首先,什么是TensorFlowTensorFlow是一种深度学习框架,这个框架里有很多已经写好的模块(包)可以让用户来调用,实现不同的操作。或者说,TensorFlow是一个工具

TensorFlow有不同的版本,不同版本的TensorFlow对编译器(即Python的版本)和驱动要求不一样。

先搞清楚一个事情,你是用CPU跑深度学习还是GPU跑深度学习。

如果你用cpu跑深度学习,只需要考虑Python版本。

如果你用gpu跑深度学习,则需要考虑Python版本、CUDA版本、cuDNN版本。

(这里简单提一嘴,CUDA是显卡厂商NVIDIA推出的运算平台cuDNNNVIDIA的一个用于深度神经网络的GPU加速库。反正就是如果你要用NVIDIA显卡跑深度学习的话,需要下载CUDAcuDNN驱动)

目前,TensorFlowcpu版本除了1.0.01.1.0要求python的版本是3.5,其他版本从1.2.0一直到2.6.0,都能兼容python3.6。所以我们一般python使用3.6这个最经典兼容性最好的版本,具体的tensorflow==x.x.x各版本对Python的要求,大家可以自行去TensorFlow中文官网查看。TensorFlow中文官网:https://tensorflow.google.cn/install/source_windows?hl=zh-cn

tensorflow-gpu==2.x.x各版本对于cuDNNCUDA的要求

版本

Python 版本

编译器

构建工具

cuDNN

CUDA

tensorflow_gpu-2.6.0

3.6-3.9

MSVC 2019

Bazel 3.7.2

8.1

11.2

tensorflow_gpu-2.5.0

3.6-3.9

MSVC 2019

Bazel 3.7.2

8.1

11.2

tensorflow_gpu-2.4.0

3.6-3.8

MSVC 2019

Bazel 3.1.0

8.0

11.0

tensorflow_gpu-2.3.0

3.5-3.8

MSVC 2019

Bazel 3.1.0

7.6

10.1

tensorflow_gpu-2.2.0

3.5-3.8

MSVC 2019

Bazel 2.0.0

7.6

10.1

tensorflow_gpu-2.1.0

3.5-3.7

MSVC 2019

Bazel 0.27.1-0.29.1

7.6

10.1

tensorflow_gpu-2.0.0

3.5-3.7

MSVC 2017

Bazel 0.26.1

7.4

10

tensorflow-gpu==1.x.x各版本对于cuDNNCUDA的要求

版本

Python 版本

编译器

构建工具

cuDNN

CUDA

tensorflow_gpu-1.15.0

3.5-3.7

MSVC 2017

Bazel 0.26.1

7.4

10

tensorflow_gpu-1.14.0

3.5-3.7

MSVC 2017

Bazel 0.24.1-0.25.2

7.4

10

tensorflow_gpu-1.13.0

3.5-3.7

MSVC 2019

Bazel 0.19.0-0.21.0

7.4

10

tensorflow_gpu-1.12.0

3.5-3.6

MSVC 2015 update 3

Bazel 0.15.0

7.2

9.0

tensorflow_gpu-1.11.0

3.5-3.6

MSVC 2015 update 3

Bazel 0.15.0

7

9

tensorflow_gpu-1.10.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

7

9

tensorflow_gpu-1.9.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

7

9

tensorflow_gpu-1.8.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

7

9

tensorflow_gpu-1.7.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

7

9

tensorflow_gpu-1.6.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

7

9

tensorflow_gpu-1.5.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

7

9

tensorflow_gpu-1.4.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

6

8

tensorflow_gpu-1.3.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

6

8

tensorflow_gpu-1.2.0

3.5-3.6

MSVC 2015 update 3

Cmake v3.6.3

5.1

8

tensorflow_gpu-1.1.0

3.5

MSVC 2015 update 3

Cmake v3.6.3

5.1

8

tensorflow_gpu-1.0.0

3.5

MSVC 2015 update 3

Cmake v3.6.3

5.1

8

1 安装Anaconda

不是说安装TensorFlow吗?Anaconda是个什么东西?官方给的解释是Anaconda是一个开源的Python发行版本。我们不管它是个啥,我们要用的是它里面的一个工具叫CondaConda是一个辅助进行包管理和环境管理的工具,我们需要用它来创建Conda虚拟环境

这里先说一个事情。首先,不同的深度学习项目对于深度学习环境的要求不同。我们在搞深度学习研究的时候,肯定不能所有的项目都只用一个深度学习环境。就好比你不能在厕所吃饭,不能在卧室撒尿一样。
我们需要创建几个虚拟环境,就像建几个房子或场所一样,便于我们在不同的地点,做不同的深度学习项目。
—————————————————————————————————

1.1 什么是虚拟环境?

先来理解一下什么是虚拟环境?
我举个例子,假如说你现在有三个深度学习项目,分别是吃饭、睡觉、学习。你吃饭要去食堂,睡觉要在宿舍,学习要去图书馆。其中食堂、宿舍和图书馆就可以理解为三个虚拟环境
食堂里的食物、餐具等;宿舍里的床、被子等;图书馆里的桌子、书等;这些都是虚拟环境中的模块(库或包,像pythontensorflow
对于不同的深度学习项目,我们要给他配合适的虚拟环境,让它在这个环境中运行代码。
我们说的**tensorflow版本不匹配,报错**就好比我的深度学习项目是吃饭,你给我配了一个图书馆的环境,里面是桌子和书,我肯定执行不了。
举了一个不是特别恰当的例子来帮助大家理解虚拟环境,希望有助于大家理解创建虚拟环境的重要性。
如下表所示,是三个虚拟环境以及它们里面的部分具体包的展示。

虚拟环境名字


tf2.6

python3.9、tensorflow-gpu2.6.0等

tf2.0

python3.6、tensorflow-gpu2.0.0、pip21.2.4等

tf1.1

python3.7、tensorflow1.1.15等

—————————————————————————————————

1.2 安装Anaconda具体步骤

建议大家从清华大学开源软件站下载Anaconda

清华大学开源软件站:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

tensorflow lite模型 arm部署_虚拟环境


32位操作系统下载Anaconda3-20xx.xx-Windows-x86.exe

64位操作系统下载Anaconda3-20xx.xx-Windows-x86_64.exe

注意,有人反馈用最新的Anaconda创建虚拟环境和安装包时,可能会报奇怪的错误。建议大家在下载的时候不要下载最新的Anaconda,下载稍微旧一点的。

1.3 添加环境变量(系统变量)

在命令提示符中输入control system,弹出设置界面。

tensorflow lite模型 arm部署_tensorflow_02


依次单击高级系统设置-环境变量-Path-编辑

tensorflow lite模型 arm部署_CUDA_03

然后单击新建-浏览,将下面四个路径添加到环境变量。

D:\Software\Anaconda3
D:\Software\Anaconda3\Scripts\
D:\Software\Anaconda3\Library\bin
D:\Software\Anaconda3\Library\mingw-w64\bin

这里注意一下Anaconda3的路径,每个人安装Anaconda3的路径可能不同,添加你自己Anaconda3的路径,别无脑复制!

tensorflow lite模型 arm部署_windows_04

1.4 修改Conda库和pip库的安装源

指定Conda库的安装源

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

查看Conda库的安装源

conda config --show channels

tensorflow lite模型 arm部署_CUDA_05


修改pip库的安装源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

查看pip库的安装源

pip config list

tensorflow lite模型 arm部署_CUDA_06

2 创建虚拟环境

虚拟环境的操作都在命令提示符中执行。

在安装Tensorflow之前,我们先来搞清楚如何创建一个虚拟环境。
创建虚拟环境

conda create -n 环境名 python=X.X

tensorflow lite模型 arm部署_虚拟环境_07


tensorflow lite模型 arm部署_虚拟环境_08


激活虚拟环境

activate 环境名

tensorflow lite模型 arm部署_CUDA_09


盘符C:前面的(Mytensorflow2.0)表示我们当前已经进入这个虚拟环境中。

退出虚拟环境

conda deactivate

tensorflow lite模型 arm部署_CUDA_10


删除虚拟环境

conda remove -n 环境名 --all

安装指定包

conda install -n 环境名 包名

删除指定包

conda remove --name 环境名  包名

3 安装CUDA

CUDA:NVIDIA的运算平台

由于CUDA的不同版本对显卡驱动的版本是有要求的,所以我们需要先了解显卡驱动信息以及不同版本的CUDA对显卡驱动的最低要求。

3.1 查看显卡驱动信息

打开NVIDIA 控制面板,单击帮助-系统信息

tensorflow lite模型 arm部署_windows_11


tensorflow lite模型 arm部署_虚拟环境_12

3.2 CUDA版本对显卡驱动的要求

CUDA版本对显卡驱动的最低要求:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html,不满足要求的先去更新显卡驱动。

NVIDIA 驱动程序下载:https://www.nvidia.cn/Download/index.aspx?lang=cn

tensorflow lite模型 arm部署_虚拟环境_13

3.3 安装CUDA具体步骤

下载CUDA的时候,注意安装类型选exe(local)

tensorflow lite模型 arm部署_windows_14

下载完成后,打开下载的CUDA,选择解压路径。

tensorflow lite模型 arm部署_windows_15


单击同意并继续

tensorflow lite模型 arm部署_虚拟环境_16


选中自定义,单击下一步

tensorflow lite模型 arm部署_CUDA_17


只勾选CUDA即可,单击下一步,之后的步骤都是单击下一步,直至完成安装。

tensorflow lite模型 arm部署_CUDA_18

3.4 CUDA环境变量的添加

将下面的两个路径添加到环境变量中的系统变量的Path中,具体添加方法参照本文1.3部分的内容,此处不再赘述。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\libnvvp

3.5 查看CUDA的版本

在命令提示符中执行如下命令即可看到CUDA的版本。

nvcc --version

tensorflow lite模型 arm部署_CUDA_19


至此,CUDA安装完毕。

4 安装cuDNN

  • cuDNN:NVIDIA的深度神经网络的GPU加速库
  • cuDNN官网下载相应的版本。

4.1 安装cuDNN具体步骤

下载并解压cuDNN,得到如下图的三个文件夹和一个.txt文件。

tensorflow lite模型 arm部署_windows_20


将所有的文件复制到CUDA的安装目录下,我这里的路径是:

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

供大家参考,直接粘贴到这个v10.0的文件夹就行。

tensorflow lite模型 arm部署_深度学习_21

4.2 查看cuDNN的版本

进入如下目录,找到cudnn.h文件并打开。(如果找不到cudnn.h文件,可以找cudnn_version.h

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

tensorflow lite模型 arm部署_CUDA_22


如图所示,我所安装的cuDNN版本是7.4.1

tensorflow lite模型 arm部署_tensorflow_23


至此,cuDNN安装完毕。

5 安装TensorFlow

完成了以上的所有工作后,安装TensorFlow就似乎很容易了。

5.1 创建虚拟环境并激活

具体操作可参考第2部分的内容,此处不再赘述。接下来我用自己前面创建好的虚拟环境Mytensorflow2.0来演示。

5.2 TensorFlow的安装命令

CPU版本的tensorflow

pip install tensorflow==x.x.x -i https://pypi.tuna.tsinghua.edu.cn/simple

GPU版本的tensorflow

pip install tensorflow-gpu==x.x.x -i https://pypi.tuna.tsinghua.edu.cn/simple

注意,这里-i https://pypi.tuna.tsinghua.edu.cn/simple的意思是:指定库的安装源,即指定从清华大学开源软件镜像站下载tensorflow。因为从tensorflow官网()下载速度很慢,这里不再作过多的赘述。如果你在本文1.4中已经修改过库的安装源,则无需再指定库的安装源-i https://pypi.tuna.tsinghua.edu.cn/simple

5.3 安装TensorFlow具体步骤

首先,进入虚拟环境Mytensorflow2.0

tensorflow lite模型 arm部署_CUDA_24


我目前这台机器的CUDA是10.0,cuDNN是7.4.1,这个虚拟环境的Python是3.6,通过版本匹配,我知道能下载的tensorflow的版本是1.13.0、1.14.0、1.15.0和2.0.0

tensorflow lite模型 arm部署_windows_25


执行下述安装命令,等待安装。

pip install tensorflow-gpu==2.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

tensorflow lite模型 arm部署_windows_26

5.4 测试TensorFlow是否安装成功

进入python,当左边显示>>>这个符号是,表示我们已经运行了python编译器。然后,我们用两行代码查看TensorFlow版本:

import tensorflow
print(tensorflow.__version__)

tensorflow lite模型 arm部署_深度学习_27


至此,TensorFlow安装完毕。

6 写在最后

由于本文写作较为仓促,用了两三天时间系统整理了一下搭建TensorFlow深度学习环境的过程。如有错误之处,欢迎大家批评指正。也欢迎各位同仁在评论区提出意见,多多交流,感谢各位!