[超级详细]如何在深度学习训练模型过程中使用GPU加速

这篇具有很好参考价值的文章主要介绍了[超级详细]如何在深度学习训练模型过程中使用GPU加速。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在深度学习当中,我们训练模型通常要对模型进行反复的优化训练,仅用CPU来进行训练的话需要花费很长时间,但是我们可以使用GPU来加速训练模型,这样就可以大大减少我们训练模型花费的时间。下图是我在训练模型过程中使用GPU加速和未使用GPU加速花费时间的对比:

[超级详细]如何在深度学习训练模型过程中使用GPU加速

由图中可以看出,使用GPU加速要比未使用GPU加速训练模型快很多。接下来我就教大家如何在在深度学习训练模型过程中使用GPU加速。

注意:以下安装步骤及命令仅支持Window环境下安装,后续我会发布其他操作系统安装教程

安装NVIDIA显卡驱动程序

首先在搜索栏中搜索设备管理器,打开后在显示适配器中找到我们电脑显卡版本

[超级详细]如何在深度学习训练模型过程中使用GPU加速

然后我们就可以在NVIDIA官方网站中找到自己电脑显卡对应的驱动程序版本进行安装

NVIDIA显卡驱动程序下载链接

找到自己显卡对应版本进行下载显卡驱动程序

[超级详细]如何在深度学习训练模型过程中使用GPU加速

搜索后找到对应版本下载

[超级详细]如何在深度学习训练模型过程中使用GPU加速

下载之后进行安装

[超级详细]如何在深度学习训练模型过程中使用GPU加速

这里我们选择默认位置安装,点击OK就可以了,其他后续步骤比较简单,点击下一步安装就可以了,大家遇到什么问题可以参考以下链接查看具体安装步骤:
【Windows】安装NVIDIA驱动

最后,我们打开命令提示符输入nvidia-smi指令查看电脑显卡驱动信息

nvidia-smi

看到如下信息就证明NVIDIA显卡驱动程序已经安装成功

[超级详细]如何在深度学习训练模型过程中使用GPU加速

安装CUDA和cuDNN

简介

CUDA和cuDNN都是由NVIDIA推出的深度学习开发工具。

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

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

检查版本兼容性

版本兼容性对于GPU加速是非常重要的,因为版本兼容性问题我就安装卸载了很多次才解决。

最后我在TensorFlow和NVIDIA官方文档中找到了对应GPU、CUDA、cuDNN和Python版本,大家可以参考下方链接进行版本的选择:

TensorFlow官方文档
NVIDIA官方文档

在NVIDIA官方文档中,可以找到每个CUDA版本所支持的GPU型号列表。在页面的左侧菜单中,选择所需的CUDA版本,然后单击“Supported Operating Systems”链接,可以查看该版本所支持的操作系统。单击“Supported CUDA GPUs”链接,可以查看该版本所支持的GPU型号列表。
[超级详细]如何在深度学习训练模型过程中使用GPU加速

大家也可以根据这张表选择CUDA、cuDNN、Python以及tensorflow-gpu版本进行安装

博主各个版本对应信息: NVIDIA GeForce GTX 1080、NVIDIA GeForce GTX 1650、Python3.9.0、CUDA 11.2.0、cuDNN 8.1.0、tensorflow-gpu 2.6.0

安装CUDA

CUDA 11.2的下载链接:CUDA 11.2.0

首先选择CUDA对应系统版本信息

[超级详细]如何在深度学习训练模型过程中使用GPU加速
最后点击下载
[超级详细]如何在深度学习训练模型过程中使用GPU加速

下载完成之后点击exe文件进行安装

[超级详细]如何在深度学习训练模型过程中使用GPU加速

这里我们选择默认位置进行安装:
[超级详细]如何在深度学习训练模型过程中使用GPU加速
点击OK等待即可:
[超级详细]如何在深度学习训练模型过程中使用GPU加速
之后进入CUDA安装界面:
[超级详细]如何在深度学习训练模型过程中使用GPU加速

系统检查——>同意许可协议——>选择自定义选项——>安装完成

在安装过程中需要注意的是选择自定义安装选项:

[超级详细]如何在深度学习训练模型过程中使用GPU加速

全部勾选相关配置:

[超级详细]如何在深度学习训练模型过程中使用GPU加速

最后安装完成点击关闭即可:

[超级详细]如何在深度学习训练模型过程中使用GPU加速

具体再无其它需要注意的地方,若遇到其他问题可参考相关链接或评论区留言,我会一一解答

CUDA和cuDNN安装教程

注意:在安装过程中已自动添加环境变量;安装完成之后需要重启电脑
默认安装路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2

重启电脑之后在命令提示符中输入nvcc -V命令查看CUDA是否安装成功:
[超级详细]如何在深度学习训练模型过程中使用GPU加速

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

安装cuDNN

cuDNN下载链接

点击下载链接后可找到对应版本进行下载,下载之前需要注册登录NVIDIA开发者计划,填写个人基本信息即可。

下面以cuDNN 8.1.0为例进行下载安装

[超级详细]如何在深度学习训练模型过程中使用GPU加速

下载完成之后解压得到cuda文件夹

[超级详细]如何在深度学习训练模型过程中使用GPU加速

打开该文件夹可以看到有bin、include、lib三个文件夹

[超级详细]如何在深度学习训练模型过程中使用GPU加速

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

[超级详细]如何在深度学习训练模型过程中使用GPU加速

将cudnn中的三个文件夹复制到cuda对应的文件夹当中

[超级详细]如何在深度学习训练模型过程中使用GPU加速

可以将对应文件夹中内容全选,复制粘贴到cuda文件夹中即可

配置环境变量

右击此电脑然后点击属性,然后点击高级系统设置

[超级详细]如何在深度学习训练模型过程中使用GPU加速

点击环境变量,在系统环境变量中找到path环境变量,点击进入

[超级详细]如何在深度学习训练模型过程中使用GPU加速

[超级详细]如何在深度学习训练模型过程中使用GPU加速

将以下内容添加到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修改版本号即可

最后可以在path中看到这四个位置证明环境变量配置成功

[超级详细]如何在深度学习训练模型过程中使用GPU加速

验证cuDNN是否安装成功

打开终端命令提示符(win+r输入cmd)
进入到CUDA文件路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\demo_suite

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

[超级详细]如何在深度学习训练模型过程中使用GPU加速

执行:deviceQuery.exe,出现如下效果图:

[超级详细]如何在深度学习训练模型过程中使用GPU加速

继续执行:bandwidthTest.exe,出现如下效果图:

[超级详细]如何在深度学习训练模型过程中使用GPU加速

最后cuDNN安装成功

验证TensorFlow可用GPU

安装python3.9.0

python3.9.0下载链接

点击链接下载安装即可,安装完成之后在命令提示符输入:python 可查看当前python版本
[超级详细]如何在深度学习训练模型过程中使用GPU加速

输入:exit() 退出python编译环境
[超级详细]如何在深度学习训练模型过程中使用GPU加速

安装tensorflow-gpu 2.6.0

在命令提示符输入:pip install tensorflow-gpu 2.6.0 等待安装完成即可

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

最后在终端输入:pip list 可查看到安装的tensorflow-gpu 2.6.0

[超级详细]如何在深度学习训练模型过程中使用GPU加速

验证可用GPU

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

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

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

[超级详细]如何在深度学习训练模型过程中使用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)

运行结果:

[超级详细]如何在深度学习训练模型过程中使用GPU加速

总结

在安装过程最重要的是版本兼容性问题,大家可以查看官方文档。最后,大家如果有什么问题欢迎在评论区留言,我都会回复大家,帮助大家解决问题文章来源地址https://www.toymoban.com/news/detail-492057.html

到了这里,关于[超级详细]如何在深度学习训练模型过程中使用GPU加速的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习技巧应用37-模型训练过程中训练曲线的观察方法与超参数随机搜索方法

    大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用37-模型训练过程中训练曲线的观察方法与超参数随机搜索方法。观察训练曲线可以帮助了解模型性能和诊断问题,如过拟合或欠拟合。超参数随机搜索是一种自动选择最优超参数组合的方法,通过在给定空间内随机

    2024年02月20日
    浏览(28)
  • 精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型

    精华整理几十个Python数据科学、机器学习、深度学习、神经网络、人工智能方面的核心库以及详细使用实战案例,轻松几行代码训练自己的专有人工智能模型。 机器学习 人工智能的核心,是使计算机具有智能的根本途径。机器学习专注于算法,允许机器学习而不需要编程,

    2024年01月25日
    浏览(53)
  • 使用TensorFlow训练深度学习模型实战(上)

    大家好,尽管大多数关于神经网络的文章都强调数学,而TensorFlow文档则强调使用现成数据集进行快速实现,但将这些资源应用于真实世界数据集是很有挑战性的,很难将数学概念和现成数据集与我的具体用例联系起来。本文旨在提供一个实用的、逐步的教程,介绍如何使用

    2024年02月15日
    浏览(35)
  • 使用TensorFlow训练深度学习模型实战(下)

    大家好,本文接TensorFlow训练深度学习模型的上半部分继续进行讲述,下面将介绍有关定义深度学习模型、训练模型和评估模型的内容。 定义深度学习模型 数据准备完成后,下一步是使用TensorFlow搭建神经网络模型,搭建模型有两个选项: 可以使用各种层,包括Dense、Conv2D和

    2024年02月15日
    浏览(25)
  • 使用PyTorch解决多分类问题:构建、训练和评估深度学习模型

    💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢迎在文章下方留下你的评论和反馈。我期待着与你分享知识、互

    2024年02月07日
    浏览(34)
  • 如何使用租用的云服务器实现神经网络训练过程(超详细教程,新手小白适用)

    超级感谢up主7_xun的B站教学视频: 适合深度学习小白的CV实战——在AutoDL上租用云服务器跑YOLOv5的全过程 链接:适合深度学习小白的CV实战——在AutoDL上租用云服务器跑YOLOv5的全过程_哔哩哔哩_bilibili 在GitHub中搜索yolov,点击第一个项目,ultralytics/yolov5 点击第一个项目进入后,

    2023年04月21日
    浏览(43)
  • 深度学习:使用UNet做图像语义分割,训练自己制作的数据集,详细教程

    语义分割(Semantic Segmentation)是图像处理和机器视觉一个重要分支。与分类任务不同,语义分割需要判断图像每个像素点的类别,进行精确分割。语义分割目前在自动驾驶、自动抠图、医疗影像等领域有着比较广泛的应用。我总结了使用UNet网络做图像语义分割的方法,教程很详

    2024年02月03日
    浏览(36)
  • 【深度学习:入门】如何配置CUDA,使用gpu本地训练

    由于显卡的不同,需要先查看我们显卡及驱动最高支持的cuda。 进入cmd输入 nvidia -smi 版本支持向下兼容,为了保证能够和其他开发库版本兼容,这里使用的CUDN版本为11.6. CUDA Toolkit| NVIDIA Developer官网找到对应CUDA版本。(我这里选择的是CUDA11.6) 依次选择如下配置,点击Download下

    2024年02月08日
    浏览(33)
  • 深度学习-yolo-fastestV2使用自己的数据集训练自己的模型

    虽然说yolo-fastestV2在coco数据集上map只达到了24.1,但是应付一些类别少的问题还是可以的。主要是这个速度是真的香!简单来说就是一个快到飞起的模型。 github地址如下:yolo-fastestV2 yolo-fastestV2采用了轻量化网络shufflenetV2为backbone,笔者在这里就不详解yolo-fastestV2了,只讲怎么

    2024年02月06日
    浏览(35)
  • 深度学习:使用nanodet训练自己制作的数据集并测试模型,通俗易懂,适合小白

    关于目标检测的模型有很多, nanodet 模型小且轻量化,适合移植部署到硬件设备上,非常推荐学习这个模型。经过我自己踩了无数坑后总结了此教程,助学刚接触nanodet,想要快速上手的学者,教程很详细,学者耐心看。 我提供了一个已经调试好的源码包,后面的教程也都是

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包