问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

深度学习GPU加速入门:从驱动安装到代码实战

创作时间:
作者:
@小白创作中心

深度学习GPU加速入门:从驱动安装到代码实战

引用
CSDN
1.
https://blog.csdn.net/qq_52730883/article/details/130650143

在深度学习中,使用GPU加速训练模型可以大大减少训练时间。本文将详细介绍如何在Windows环境下安装NVIDIA显卡驱动程序、CUDA和cuDNN,并验证TensorFlow是否能使用GPU。

前言

在深度学习中,训练模型通常需要反复优化,仅用CPU训练会花费很长时间。使用GPU加速可以显著减少训练时间。下图展示了使用GPU加速和未使用GPU加速的训练时间对比:

接下来,我们将详细介绍如何在深度学习训练模型过程中使用GPU加速。注意:以下安装步骤及命令仅支持Windows环境下安装,其他操作系统安装教程将后续发布。

安装NVIDIA显卡驱动程序

  1. 在搜索栏中搜索设备管理器,打开后在显示适配器中找到电脑显卡版本。
  2. 在NVIDIA官方网站中找到对应显卡版本的驱动程序进行下载。

NVIDIA显卡驱动程序下载链接:点击这里

  1. 下载后进行安装,选择默认位置安装即可。安装过程中遇到问题可参考以下链接:Windows安装NVIDIA驱动

  2. 打开命令提示符输入nvidia-smi指令查看显卡驱动信息:

nvidia-smi

如果看到如下信息,说明NVIDIA显卡驱动程序已经安装成功:

安装CUDA和cuDNN

简介

  • CUDA:Compute Unified Device Architecture的缩写,是一个由NVIDIA制定的通用并行计算平台和编程模型,允许开发人员使用C++、Fortran和Python等编程语言在NVIDIA GPU上运行代码。CUDA Toolkit包括GPU加速的库、调试和优化工具、C/C++编译器以及运行时库等。

  • cuDNN:CUDA Deep Neural Network library,是一个高性能的GPU加速深度学习库,支持卷积神经网络、循环神经网络等多种神经网络模型,并且可以与TensorFlow、PyTorch和Caffe2等深度学习框架集成。cuDNN提供高度优化的实现,包括卷积、池化、标准化和激活等常用操作。

检查版本兼容性

版本兼容性对于GPU加速非常重要。可以在TensorFlow和NVIDIA官方文档中找到对应GPU、CUDA、cuDNN和Python版本:

博主使用的版本对应信息:NVIDIA GeForce GTX 1080、NVIDIA GeForce GTX 1650、Python 3.9.0、CUDA 11.2.0、cuDNN 8.1.0、TensorFlow-GPU 2.6.0。

安装CUDA

  1. 下载CUDA 11.2:CUDA 11.2.0下载链接

  1. 安装过程选择自定义选项,全部勾选相关配置:

  1. 安装完成后重启电脑,在命令提示符中输入nvcc -V命令查看CUDA是否安装成功:
nvcc -V

显示以上信息证明CUDA安装成功。

安装cuDNN

  1. 下载cuDNN:cuDNN下载链接

下载之前需要注册登录NVIDIA开发者计划,填写个人基本信息即可。以下以cuDNN 8.1.0为例进行下载安装。

  1. 下载完成之后解压得到cuda文件夹,打开该文件夹可以看到有bin、include、lib三个文件夹。

  2. 找到之前CUDA 11.2.0安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2并打开该文件夹,可以找到与之对应的三个文件夹。

  3. 将cudnn中的三个文件夹复制到cuda对应的文件夹当中,可以将对应文件夹中内容全选,复制粘贴到cuda文件夹中即可。

  4. 配置环境变量:

右击此电脑然后点击属性,然后点击高级系统设置,点击环境变量,在系统环境变量中找到path环境变量,点击进入,将以下内容添加到path环境变量当中:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include

一般前面两个环境变量在安装CUDA时已经自动配置好,我们只需要将后面两个添加进去即可。不同版本的cuDNN修改版本号即可。

  1. 验证cuDNN是否安装成功:

打开终端命令提示符(win+r输入cmd),进入到CUDA文件路径:

cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite

执行以下命令:

deviceQuery.exe
bandwidthTest.exe

如果出现如下效果图,说明cuDNN安装成功:

验证TensorFlow可用GPU

  1. 安装Python 3.9.0:Python 3.9.0下载链接

安装完成之后在命令提示符输入python可查看当前Python版本,输入exit()退出Python编译环境。

  1. 安装TensorFlow-GPU 2.6.0:

在命令提示符输入以下命令等待安装完成:

pip install tensorflow-gpu==2.6.0

若出现什么问题可在评论区留言。

  1. 最后在终端输入以下命令可查看已安装的TensorFlow-GPU版本:
pip list
  1. 验证可用GPU:

可在终端进入Python编译环境或其他编译器中输入以下代码验证可用GPU:

import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))

只要输出结果>0,证明存在可用GPU。

代码测试

在编辑器中创建test_model.py文件,输入以下代码可显示GPU加速效果:

import tensorflow as tf

# 列出可用的 GPU 设备
print(tf.config.list_physical_devices('GPU'))

# 设置 TensorFlow 使用 GPU 进行计算
gpu_devices = tf.config.list_physical_devices('GPU')
if gpu_devices:
    for device in gpu_devices:
        tf.config.experimental.set_memory_growth(device, True)

# 加载数据集
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

# 定义模型
model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10)
])

# 编译模型
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
model.compile(optimizer='adam', loss=loss_fn, metrics=['accuracy'])

# 训练模型
model.fit(x_train, y_train, epochs=5)

# 评估模型
model.evaluate(x_test, y_test, verbose=2)

运行结果:

总结

在安装过程最重要的是版本兼容性问题,大家可以查看官方文档。最后,大家如果有什么问题欢迎在评论区留言,我都会回复大家,帮助大家解决问题。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号