Tensorflow 2.1 GPU 安装和测试
-
- 1. 硬件要求
- 2. 软件要求
-
- 简单的描述一下它们的功能
- 3. 安装步骤
-
- 3.1. nvidia 驱动可以到这个地址下载, 我的显卡是RTX 2070的,你可以根据你的显卡下载驱动**
- 3.2. 下载Cuda
- 3.3. 下载Cudnn
- 3.4. 运行这个命令安装tensorflow 2.1 gpu 版本
- 3.5. 用tensorflow 代码测试是不是安装成功
- 4. 解决问题
-
-
- 4.1 如果你运行Keras的RNN或者LSTM时,遇到下面问题
-
1. 硬件要求
支持以下带有 GPU 的设备:
CUDA® 计算能力为 3.5 或更高的 NVIDIA® GPU 卡。请参阅支持 CUDA 的 GPU 卡列表。
2. 软件要求
必须在系统中安装以下 NVIDIA® 软件:
NVIDIA® GPU 驱动程序:CUDA 10.1 需要 418.x 或更高版本。
CUDA® 工具包:TensorFlow 支持 CUDA 10.1(TensorFlow 2.1.0 及更高版本)
CUDA 工具包附带的 CUPTI。
cuDNN SDK(7.6 及更高版本)
(可选)TensorRT 6.0,可缩短在某些模型上进行推断的延迟并提高吞吐量
参考地址: https://tensorflow.google.cn/install/gpu
简单的描述一下它们的功能
nvidia:是显卡,主要是下载它的驱动
Cuda:是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。CUDA的本质是一个工具包(ToolKit)
cuDNN : cuDNN是一个SDK,是一个专门用于神经网络的加速包,
版本信息
N卡驱动版本Geforce- Rtx 2070 SUPER,
Cuda 10.1 ,
Cudnn: cudnn-10.1-windows10-x64-v7.6.5.32,
tensorflow 2.1
3. 安装步骤
3.1. nvidia 驱动可以到这个地址下载, 我的显卡是RTX 2070的,你可以根据你的显卡下载驱动**
https://www.nvidia.com/download/index.aspx?在这里插入图片描述" src="https://img-blog.csdnimg.cn/20200315170249624.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2tlZXBwcmFjdGljZQ==,size_16,color_FFFFFF,t_70" />
运行 这个命令看N 卡的驱动的版本号 ----nvidia-smi

3.2. 下载Cuda
CUDA的下载地址为:https://developer.nvidia.com/cuda-downloads
运行这个命令查看Cuda 的信息
. nvcc -V
3.3. 下载Cudnn
https://developer.nvidia.com/rdp/cudnn-download
下载后,加它相应的路径到环境变量里。
注意:下载这个比较麻烦,要注册账号,还有翻墙才能搞,我当时用VPN 才能注册账号。
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\libx64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%
3.4. 运行这个命令安装tensorflow 2.1 gpu 版本
conda install tensorflow-gpu==2.1.0
因为我已经安装
3.5. 用tensorflow 代码测试是不是安装成功
import tensorflow as tf
import os
#os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
print(tf.__version__)
print('GPU:', tf.config.list_physical_devices('GPU'))
print(tf.test.is_gpu_available())
运行结果
tf.Tensor(3.0, shape=(), dtype=float32)
2.1.0
GPU: [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
True
4. 解决问题
4.1 如果你运行Keras的RNN或者LSTM时,遇到下面问题
错误:Fail to find the dnn implementation. [Op:CudnnRNN]解决办法
使用的版本为tensorflow2.x
原因:gpu内存的问题
解决办法:
# 设置gpu内存自增长
gpus = tf.config.experimental.list_physical_devices('GPU')
print(gpus)
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)