配置TensorFlow的cuda环境教程

由于各种深度学习框架(TensorFlow、Pytorch等等)和 cuda 版本的更新较快,可能出现程序的编译和运行需要之前版本的 cuda 进行运行环境支持的情况。
为了满足应用程序和框架本身对不同版本的 cuda 的需求,这里即记录笔者了解到的 Windows 和Ubuntu 环境下 TensorFlow 所使用 cuda 版本以及TensorFlow使用不同版本的 cuda 进行运行的方法。

一、硬件要求

官网链接:

https://developer.nvidia.com/cuda-gpus

选则自己显卡类型对应的NVIDIA系列,可以得到显卡的计算能力(compute capability)
注意标注Notebook的为笔记本电脑

不知道自己显卡版本的可以通过”设备管理器”查看,或者使用第三方软件GPU-Z查看。请注意,AMD的显卡不可以使用英伟达开发的CUDA…

二、软件要求

1. 查看Python、tensorflow、CUDA、Cudnn版本的对应关系,确定版本方案

注意记下自己需要的tensorflow版本、CUDA版本、Cudnn版本、Python版本

以下是我windows系统的安装方案:
tf1.15.0+CUDA10.0.130+CuDNN7.4.2+Python3.7.11
tf2.5.0+CUDA11.2.0+CuDNN8.1.1+Python3.7.11

安装文件我都下载好啦~如果系统和方案和我一样的就可以直接下载用

链接:https://pan.baidu.com/s/1VGCSy7yAOhXwgHtPfmzRtw
提取码:sau0

Windows用户Tensorflow官网链接

https://www.tensorflow.org/install/source_windows

配置TensorFlow的cuda环境教程

; Linux用户Tensorflow官网链接

https://www.tensorflow.org/install/source#common_installation_problems

配置TensorFlow的cuda环境教程
注意:
若要支持 Python 3.9,需要使用 TensorFlow 2.5 或更高版本。
若要支持 Python 3.8,需要使用 TensorFlow 2.2 或更高版本。
如果使用错误的Python版本,将无法安装TensorFlow!

2. 下载NVIDIA GPU 显卡驱动程序

显卡驱动的下载链接

https://www.nvidia.com/download/index.aspx?lang=en-us#

填入GPU的信息

配置TensorFlow的cuda环境教程
得到下载链接
配置TensorFlow的cuda环境教程

; 验证驱动安装成功

查看N卡状态

nvidia-smi

3. 下载CUDA工具包

3.1 简介

CUDA 是NVIDIA专门负责管理分配运算单元的框架
CUDA的本质是一个工具包(ToolKit)

CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。

3.2 下载方法

下载之前我们需要知道已经安装了什么版本的CUDA
至于如何知道您安装了多少个工具包,请参考3.3。

[En]

As for how to know how many toolkits you have installed, refer to 3.3.

安装最新版本CUDA工具包

下载链接:

https://developer.nvidia.com/cuda-toolkit-archive

配置TensorFlow的cuda环境教程

我们可以选择两种安装方法。

[En]

We can choose two installation methods.

一种是离线安装即本地安装(推荐第一次安装CUDA的用户使用)
一种是在线安装(推荐已经安装多个CUDA版本的用户使用)

解释:NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,只不过是离线安装的CUDA工具包会默认安装与之匹配的最新的驱动程序,这不太好,我们直接安装一个最新版的显卡驱动,然后在线安装不同版本的CUDA即可。

这里我要安装到E盘,不是默认目录,所以选则自定义

配置TensorFlow的cuda环境教程

; 3.3 查看所安装的CUDA版本

(1)在windows平台下:
方法一(推荐):
直接进入CUDA的安装目录,默认是 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA然后执行: type version.xxx 即可查看(有的是.txt文件,有的是.json文件)
方法二(不推荐):
通过命令查看:nvcc -V 或者是nvcc –version都可以,但前提是添加了环境变量

(2)在Linux平台下:

同windows类似,进入到安装目录,然后执行 cat version.txt 命令

4. cuDNN

4.1 简介

cuDNN是一个SDK,是一个专门用于神经网络的加速包,注意,它跟我们的CUDA没有一一对应的关系,即每一个版本的CUDA可能有好几个版本的cuDNN与之对应,但一般有一个最新版本的cuDNN版本与CUDA对应更好。

cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。

4.2 下载及安装

需要注册和登陆NVIDIA 帐户并填写问卷才能下载

https://developer.nvidia.com/rdp/cudnn-archive

下载是一个压缩包,解压后,里面有三个文件夹。

[En]

Download is a compressed package, decompressed, there are three folders inside.

找到 CUDA 的安装路径,默认是 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

复制 cuDNN bin 目录下的文件到 CUDA 的 bin 目录下(.dll)
复制 cuDNN include 目录下的文件到 CUDA 的 include 目录下(.h)
复制 cuDNN lib/x64 目录下的文件到 CUDA 的 lib/x64 目录下(.lib)

读不懂的看这个图

配置TensorFlow的cuda环境教程
配置TensorFlow的cuda环境教程
配置TensorFlow的cuda环境教程
接下来设置环境变量:
计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了CUDA_PATH和CUDA_PATH_V10_1两个环境变量,接下来,还要在系统中添加以下几个环境变量:
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1
(这是默认安装位置的路径,经自定义路径后,我的路径为E:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1)
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

然后:
在系统变量 PATH 的末尾添加:

%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
'''
再添加如下4条(默认安装路径)
`python
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\common\lib\x64;
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\bin\win64;
如果你选用了自定义路径,上述这些默认路径都应该相应替换为你的自定义路径,如下为我的环境变量和PATH的配置情况:

读不懂的看下面的图

配置TensorFlow的cuda环境教程
配置TensorFlow的cuda环境教程

4.3 查看自己的cuDNN的版本

cuDNN本质上就是一个C语言的H头文件
(1)在windows平台下:
直接进入安装目录:

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

之下,然后找到cudnn_version.h 的头文件,直接点开查看,在最开始的部分会有如下定义:

即7500,也就是cudnn的版本为8.1.1版本;
(2)在Linux平台下:
使用命令进入安装目录并执行以下命令:

[En]

Use the command to enter the installation directory and execute the following command:

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

配置TensorFlow的cuda环境教程
即5005,即5.0.5版本的cudnn。

4.4 验证是否配置成功

主要使用CUDA内置的deviceQuery.exe 和 bandwithTest.exe:
首先win+R启动cmd,cd到安装目录下的 …\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe,应该得到下图:

配置TensorFlow的cuda环境教程
配置TensorFlow的cuda环境教程

; 5.CUDA 工具包附带的CUPTI(可选)

CUPTI,即CUDA Profiling Tools Interface (CUPTI)。在CUDA分析工具接口(CUPTI)能够分析和跟踪靶向CUDA应用程序的工具的创建。CUPTI提供以下API:

Activity API,
Callback API,
事件API,
Metric API,和
Profiler API。

使用这些API,您可以开发分析工具,深入了解CUDA应用程序的CPU和GPU行为。CUPTI作为CUDA支持的所有平台上的动态库提供。请参阅CUPTI文档。

https://docs.nvidia.com/cupti/Cupti/index.html

三、TensorFlow & Pyrhon

3.1 python安装

(1)查看已有的python版本
方法一(推荐):
在命令窗口,输入

where python

它会显示python的对应路径,多个版本时候会显示多个路径

配置TensorFlow的cuda环境教程
可以看到,有anaconda的版本,同时有programs的python3.8版本,但是我们需要python3.7版本
(2)python官网下载

https://www.python.org/downloads/

配置TensorFlow的cuda环境教程
下完完成直接点击exe文件,安装过程注意勾选”添加到环境变量”

3.2 TensorFlow安装

在anaconda prompt中新建环境,起的名字最好可以表现出tensorflow版本,如tf2,tensorflow1.7等,建立名为tensorflow2.5.0的环境,后面跟着的是对应python版本

conda  create -n tf2 python=3.7

您需要指定环境的路径,因此可以使用以下命令:

[En]

You need to specify the path to the environment, so you can use the command:

conda create -p /opt/environment/.conda/envs/env_name python=2.7

到此环境创建完成,接下来就要在该环境中真正安装tensorflow了

激活虚拟环境:

activate
conda activate tf2

在不影响主机系统设置的情况下,在虚拟环境中安装软件包。首先升级 pip :

pip install --upgrade pip --user

然后pip安装tensoflow:(此处加入-i https://pypi.tuna.tsinghua.edu.cn/simple,表示使用清华镜像源安装,比较快)

pip install tensorflow_gpu==2.5.0 -i  https://pypi.tuna.tsinghua.edu.cn/simple

如果你下载的项目里有requiremwnts.txt文件指明要安装的库,那更好,先cd到这个txt文件所在的文件夹:


D:

cd D:\PycharmProjects\facenet-master

然后按照requiremwnts.txt文件安装库

pip install -r requirements.txt -i  https://pypi.tuna.tsinghua.edu.cn/simple

好了,在tensoflow2.5.0环境下,看看python在哪里

where python

可能会有多条路径,没关系,第一条就是当前环境的python:

(tf2) $ where python
E:\Users\THINKPAD\anaconda3\envs\tf2\python.exe
E:\Users\THINKPAD\anaconda3\python.exe
C:\Users\THINKPAD\AppData\Local\Programs\Python\Python38-32\python.exe

查看第一条:E:\Users\THINKPAD\anaconda3\envs\tf2\python.exe(每个人可能不一样)
它就是tensorflow2.5.0版本的python位置,记住你的位置,等会要用

3.3 验证配置成功

现在打开Python

python
import tensorflow as tf

没有红色字报告错误,它终于完成了!

[En]

There is no red word to report an error, it is finally finished!

精致一点的话还可以输入exit,退出ipython环境

其他命令

几个环境命令总结:

conda info --envs

conda list

conda activate (环境名)

conda deactivate

conda remove -n (环境名)--all

四、 在pycharm中使用该版本的tensorflow

如果你是要新建一个工程,那就:

1.在新建工程的create页面点一下project interpreter的三角形,把该选项展开
2.选中靠下的选项:existing interpreter
3.点击路径框右边的三个点”…”,进入add python interpreter页
4.左边一列中选择conda environment
5.在interpreter栏中选择查看到的路径,如D:\anaconda\envs\tensorflow1.7\python.exe
6.为了以后方便使用,勾选make available to all projects
7.ok,检查一下interpreter是否在正确的环境,然后create创建工程即可

如果你是要修改一个已有工程的interpreter:

1.file–settings
2.在左边选项卡中选择project:工程名,再选择进入project interpreter页面
3.project interpreter路径框的下拉键,show all
4.点击右上方的”+”,进入add python interpreter页
5.左边一列中选择conda environment
6.在interpreter栏中选择查看到的路径,如D:\anaconda\envs\tensorflow1.7\python.exe
7.为了以后方便使用,勾选make available to all projects
8.OK

验证安装成功

输入下列代码

import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('hello,tensorf')
sess = tf.compat.v1.Session()
print(sess.run(hello))

运行结果:

'hello,world'

设置log输出信息

输出将有大量红色文本,这不是错误。

[En]

The output will have a lot of red text, which is not an error.

你可以在它前面添加这句话,并且不会有红色文本。

[En]

You can add this sentence in front of it, and there will be no red text.

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1'

根据源码查看 os.environ["TF_CPP_MIN_LOG_LEVEL"]的值的含义:

配置TensorFlow的cuda环境教程
1、log信息共有四个等级,按重要性递增为:
INFO(通知)

Original: https://blog.csdn.net/qq_24997277/article/details/120315134
Author: Shoko0116
Title: 配置TensorFlow的cuda环境教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/511896/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球