[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]
0x03.初识与安装 cuDNN 深度学习库
什么是cuDNN?
cuDNN(CUDA® Deep Neural Network library)是由英伟达(NVIDIA)开发的深度学习库,专门用于加速深度神经网络(DNN)的训练和推断过程,cuDNN 提供了高度优化的实现(如前向和后向卷积、attention、matmul、池化和归一化),利用 NVIDIA GPU 的并行计算能力来加速神经网络的运行。
主要功能和特性:
-
卷积操作优化:cuDNN 实现了高度优化的卷积操作,包括常用的卷积、反卷积和池化等操作。这些优化能够显著加速卷积神经网络(CNN)的训练和推断过程。
-
RNN 和 LSTM 支持:cuDNN 提供了对循环神经网络(RNN)和长短期记忆网络(LSTM)等序列模型的优化支持,包括各种变体和层级。
-
标准神经网络层优化:除了卷积和循环层,cuDNN 还优化了神经网络的标准层,如全连接层和激活函数(如ReLU)。
-
高级特性支持:cuDNN 提供了一些高级特性,如半精度浮点计算(FP16)支持,这对于在保持高精度的同时显著提高训练和推断速度尤为重要。
-
跨平台和接口支持:cuDNN 可以在多个操作系统上运行,并支持多种深度学习框架的接口,如
TensorFlow
、PyTorch
、Caffe
等,使得开发者可以利用其优化功能而无需深入底层编程。
原文链接:
总体来说,cuDNN 是在 NVIDIA GPU 上进行深度学习计算时不可或缺的库之一,通过提供高效的算法实现和并行计算优化,显著提高了深度神经网络训练和推断的速度和效率。
官网地址:https://developer.nvidia.com/cudnn
cuDNN 与 CUDA 有何关系?
cuDNN 是基于 CUDA 构建的,因此需要 CUDA 才能运行。CUDA 提供了 GPU 并行计算的底层基础,而 cuDNN 则提供了针对深度学习应用的优化库。
简单的说,CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来,这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。
前置条件:
在进行cuDNN安装之前,需要先安装 NVIDIA 显卡驱动程序及其适用于你当前系统的 CUDA 工具包,否则无法进行cuDNN的安装。
安装步骤:
有两种安装cuDNN方法,使用特定于发行版的软件包(RPM 和 Debian 软件包)或独立于发行版的软件包(Tarballs)进行安装,此处作者建议尽可能使用特定于发行版的包。
Step 1.对于 Ubuntu 用户,还需安装 zlib 软件包,请运行:
sudo apt-get install zlib1g
# zlib1g 已经是最新版 (1:1.3.dfsg-3.1ubuntu2)。
# zlib1g 已设置为手动安装。
Step 2.访问 NVIDIA cuDNN 下载页面(developer.nvidia.com/cudnn),选择对应版本进行下载,如作者选择支持Ubuntu 24.04 的cuDNN,由于官网还没Ubuntu 24.04 此处使用22.04的来替代。
# 下载特定于发行版的cuddn包
wget https://developer.download.nvidia.com/compute/cudnn/9.2.1/local_installers/cudnn-local-repo-ubuntu2204-9.2.1_1.0-1_amd64.deb
# 解压并安装, 然后导入 CUDA GPG key
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.2.1_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2204-9.2.1/cudnn-*-keyring.gpg /usr/share/keyrings/
# 更新源
sudo apt-get update
# 老前辈则建议根据需要安装而不是完整的cudnn。
sudo apt-get -y install cudnn
# 将会同时安装下列软件:
# cudnn9 cudnn9-cuda-12 cudnn9-cuda-12-5 libcudnn9-cuda-12 libcudnn9-dev-cuda-12 libcudnn9-samples libcudnn9-static-cuda-12
# 若要安装CUDA 12特定的软件包,请执行
sudo apt-get -y install cudnn-cuda-12
温馨提示:若要下载 cudnn 历史版本,请访问 [developer.nvidia.cn/rdp/cudnn-archive] 下载页面,选择对应版本进行下载安装即可。
Step 3.除此之外,我们也可以选择单独安装runtime library、developer library 和 code samples,分别对应于libcudnn9
、libcudnn9-dev
和libcudnn9-doc
。
## 1. Install the runtime library.
## sudo apt-get install libcudnn9=9.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn9=9.2.1.18-1+cuda11.8
## 2. Install the developer library.
## sudo apt-get install libcudnn9-dev=9.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn9-dev=9.2.1.18-1+cuda11.8
## 3. Install the code samples.
## sudo apt-get install libcudnn9-samples=9.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn9-samples=9.2.1.18-1+cuda11.8
step 4.最后安装完毕后,使用sudo dpkg -l | grep cudnn
命令验证是否安装成功。
文章都看完了,都不关注一下作者吗?
如果此篇文章对你有帮助,请你将它转发给更多的人!
学习推荐 往期文章
感觉文章不错的童鞋,请帮忙转发,点 👍、在看,若有疑问的小伙伴,可在评论区留言你想法哟💬!
原文链接: