[超级详细]如何在深度学习训练模型过程中使用GPU加速 | 您所在的位置:网站首页 › 怎么开启电脑硬件加速模式啊 › [超级详细]如何在深度学习训练模型过程中使用GPU加速 |
前言
在深度学习当中,我们训练模型通常要对模型进行反复的优化训练,仅用CPU来进行训练的话需要花费很长时间,但是我们可以使用GPU来加速训练模型,这样就可以大大减少我们训练模型花费的时间。下图是我在训练模型过程中使用GPU加速和未使用GPU加速花费时间的对比: 由图中可以看出,使用GPU加速要比未使用GPU加速训练模型快很多。接下来我就教大家如何在在深度学习训练模型过程中使用GPU加速。 注意:以下安装步骤及命令仅支持Window环境下安装,后续我会发布其他操作系统安装教程 安装NVIDIA显卡驱动程序首先在搜索栏中搜索设备管理器,打开后在显示适配器中找到我们电脑显卡版本 然后我们就可以在NVIDIA官方网站中找到自己电脑显卡对应的驱动程序版本进行安装 NVIDIA显卡驱动程序下载链接 找到自己显卡对应版本进行下载显卡驱动程序 搜索后找到对应版本下载 下载之后进行安装 这里我们选择默认位置安装,点击OK就可以了,其他后续步骤比较简单,点击下一步安装就可以了,大家遇到什么问题可以参考以下链接查看具体安装步骤: 【Windows】安装NVIDIA驱动 最后,我们打开命令提示符输入nvidia-smi指令查看电脑显卡驱动信息 nvidia-smi看到如下信息就证明NVIDIA显卡驱动程序已经安装成功 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型号列表。 大家也可以根据这张表选择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 安装CUDACUDA 11.2的下载链接:CUDA 11.2.0 首先选择CUDA对应系统版本信息
下载完成之后点击exe文件进行安装 这里我们选择默认位置进行安装: 系统检查——>同意许可协议——>选择自定义选项——>安装完成 在安装过程中需要注意的是选择自定义安装选项: 全部勾选相关配置: 最后安装完成点击关闭即可: 具体再无其它需要注意的地方,若遇到其他问题可参考相关链接或评论区留言,我会一一解答 CUDA和cuDNN安装教程 注意:在安装过程中已自动添加环境变量;安装完成之后需要重启电脑 默认安装路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2 重启电脑之后在命令提示符中输入nvcc -V命令查看CUDA是否安装成功: 显示以上信息证明CUDA安装成功 安装cuDNNcuDNN下载链接 点击下载链接后可找到对应版本进行下载,下载之前需要注册登录NVIDIA开发者计划,填写个人基本信息即可。 下面以cuDNN 8.1.0为例进行下载安装 下载完成之后解压得到cuda文件夹 打开该文件夹可以看到有bin、include、lib三个文件夹 找到之前CUDA 11.2.0安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2 并打开该文件夹,可以找到与之对应的三个文件夹 将cudnn中的三个文件夹复制到cuda对应的文件夹当中 可以将对应文件夹中内容全选,复制粘贴到cuda文件夹中即可 配置环境变量右击此电脑然后点击属性,然后点击高级系统设置 点击环境变量,在系统环境变量中找到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修改版本号即可 最后可以在path中看到这四个位置证明环境变量配置成功 打开终端命令提示符(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执行:deviceQuery.exe,出现如下效果图: 继续执行:bandwidthTest.exe,出现如下效果图: 最后cuDNN安装成功 验证TensorFlow可用GPU 安装python3.9.0python3.9.0下载链接 点击链接下载安装即可,安装完成之后在命令提示符输入:python 可查看当前python版本 输入:exit() 退出python编译环境 在命令提示符输入:pip install tensorflow-gpu 2.6.0 等待安装完成即可 若出现什么问题可在评论区留言 最后在终端输入:pip list 可查看到安装的tensorflow-gpu 2.6.0 可在终端进入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)运行结果: 在安装过程最重要的是版本兼容性问题,大家可以查看官方文档。最后,大家如果有什么问题欢迎在评论区留言,我都会回复大家,帮助大家解决问题 |
CopyRight 2018-2019 实验室设备网 版权所有 |