2021-12-01如何解决tensorflow无法调用GPU运行的问题?

如何解决tensorflow无法调用GPU运行的问提?

1.目前的环境和问题

1.1问题说明

目前的主要问题是在做深度学习时,不能成功调用GPU进行运算,程序一直在CPU上运行,对于数据量大的深度学习而言,时间成本高
主要问题如下(代码都是在python环境下运行):
①tensorflow版本检查

import tensorflow as tf
tf.__version__  #(2.6.0)

再导入tensorflow时出现如下问题:

2021-12-01如何解决tensorflow无法调用GPU运行的问题?
②可用的GPU设备检查
import tensorflow as tf
from tensorflow.python.client import device_lib
#输出可用的GPU数量
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
#查询GPU设备
print(device_lib.list_local_devices())

以上结果返回如下:
GPU的可使用数量为0(实际上可使用的GPU数量为2)

2021-12-01如何解决tensorflow无法调用GPU运行的问题?
未能成功检测到GPU设备,只检测到CPU
2021-12-01如何解决tensorflow无法调用GPU运行的问题?
综合以上目前觉得是GPU的配置不成功,版本不匹配之类的问题

1.2操作环境等说明

①操作系统linux/ubuntu18.04(查询方法如下图)

2021-12-01如何解决tensorflow无法调用GPU运行的问题?
②系统的架构=amd64(x86_64)(查询方法如下图)
2021-12-01如何解决tensorflow无法调用GPU运行的问题?
③python=3.6.9
④tensorflow-gpu=2.6.0
⑤cuda=9.1.85(查询方法如下图)
注意区分两种查询命令的区别: https://blog.csdn.net/hb_learing/article/details/115534219
2021-12-01如何解决tensorflow无法调用GPU运行的问题?
⑥无cudnn(查询方法如下图)
2021-12-01如何解决tensorflow无法调用GPU运行的问题?

; 2.针对该问题的解决办法

①查询tensorflow版本对应的cuda和cudnn
查询链接: https://tensorflow.google.cn/install/source?hl=en

2021-12-01如何解决tensorflow无法调用GPU运行的问题?
由以上可知tensorflow2.6.0对应的版本分别为cudnn=8.1和cudn=11.2
②升级cudn的版本
先下载对应的cudn版本文件,下载地址: https://developer.nvidia.com/cuda-11.2.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal
您可以直接参考官网上的安装教程,在终端输入相关命令进行安装。
[En]

You can directly refer to the installation tutorial on the official website and enter relevant commands at the terminal for installation.

2021-12-01如何解决tensorflow无法调用GPU运行的问题?
因为我是在docker容器里运行,没有root权限,所以在命令行输入时,我会舍去sudo,直接输入后面的内容
③配置cudn
a. 查看.bashrc文件
vim  ~/.bashrc

b. 在该文件的末尾加入

export PATH=/usr/local/cuda-11.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64:$LD_LIBRARY_PATH

c. 最后使用如下命令对.bashrc文件的修改进行激活生效

source ~/.bashrc

d. 使用nvcc -V命令查看cudn的版本,可知现在变成了11.2.152,如图所示:

2021-12-01如何解决tensorflow无法调用GPU运行的问题?
④安装cudnn
a. 先下载对应的cudnn安装包,安装包链接: https://developer.nvidia.com/rdp/cudnn-archive
b. 解压安装包并进入解压目录
tar zxvf cudnn-11.2-linux-x64-v8.1.0.77.tgz
cd 压缩文件所在路径

c. 执行cp和chmod命令配置cudnn环境

sudo cp cuda/include/cudnn.h /usr/local/cuda-11.2/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.2/lib64
sudo chmod a+r /usr/local/cuda-11.2/include/cudnn.h
sudo chmod a+r /usr/local/cuda-11.2/lib64/libcudnn*

d. 查看cudnn版本
网上常用的查看cudnn版本的命令为:

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

但是该命令没有反应,所以网上搜索了解决办法, 有效解决办法的链接https://blog.csdn.net/eaxy_z/article/details/108615548
最终查询cudnn的版本为8.1.0

2021-12-01如何解决tensorflow无法调用GPU运行的问题?
至此所有的配置均已完成,现在可以按照1.1问题说明中的②查看可用GPU的数量了,结果显示如下(部分截图):
2021-12-01如何解决tensorflow无法调用GPU运行的问题?

哈,困扰我许久的问题终于解决了。具体引用链接如下

[En]

Ha, the problem that has plagued me for a long time has finally been solved. * the links to the specific references are as follows * :

①cudn配置时.bashrc文件的添加内容: https://blog.csdn.net/qq_16792139/article/details/113256279
②整体的安装流程:
https://zhuanlan.zhihu.com/p/72298520

Original: https://blog.csdn.net/LJ1120142576/article/details/121650605
Author: 爱笑的娟狗运气不会差喔
Title: 2021-12-01如何解决tensorflow无法调用GPU运行的问题?

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

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

(0)

大家都在看

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