AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库

news2024/11/18 22:27:37

08a6f55e62f938f9334386da72d53bdd.gif

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]


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 可以在多个操作系统上运行,并支持多种深度学习框架的接口,如 TensorFlowPyTorchCaffe 等,使得开发者可以利用其优化功能而无需深入底层编程。

原文链接:

AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库cuDNN是由英伟达开发的深度学习库,专门用于加速深度神经网络(DNN)的训练和推断过程,提供了高度优化的实现(如前向和后向卷积、attention、matmul、池化和归一化),利用NVIDIA GPU的并行计算能力来加速神经网络的运行icon-default.png?t=N7T8https://mp.weixin.qq.com/s/a7a7S02uiUAXuc4GHf5vsQ

总体来说,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的来替代。

4fe43b899ae0ab3caf8e633dd7787fe5.png

weiyigeek.top-sudo apt-get install zlib1g图
# 下载特定于发行版的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

008ea0e5d3d7143ea52595ed95096c3c.png

weiyigeek.top-安装cudnn图

温馨提示:若要下载 cudnn 历史版本,请访问 [developer.nvidia.cn/rdp/cudnn-archive] 下载页面,选择对应版本进行下载安装即可。

a2e0264556829f6eed0a1aed60c54ace.png

weiyigeek.top-下载 cudnn 历史版本图

Step 3.除此之外,我们也可以选择单独安装runtime library、developer library 和 code samples,分别对应于libcudnn9libcudnn9-devlibcudnn9-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命令验证是否安装成功。

0b36ee7a90ba42c5d568ac79be656601.png

weiyigeek.top-检查cudnn图

文章都看完了,都不关注一下作者吗?


如果此篇文章对你有帮助,请你将它转发给更多的人!

 学习推荐 往期文章

  • 🔥【最新】运维Tips | 当同时忘记Kylin麒麟系统root与grub密码如何应对?

  • 💡【相关】AIGC | 机器学习工作站安装Ubuntu24.04桌面版

  • 💡【相关】AIGC | Ubuntu24.04桌面版必备软件安装

96c88d0a3b3144e35be7e9808dbea15e.gif

850cebb6b4729a99903424ae507ae30e.gif

感觉文章不错的童鞋,请帮忙转发,点 👍、在看,若有疑问的小伙伴,可在评论区留言你想法哟💬!

原文链接:

AIGC | 在机器学习工作站安装NVIDIA cuDNN 深度学习库cuDNN是由英伟达开发的深度学习库,专门用于加速深度神经网络(DNN)的训练和推断过程,提供了高度优化的实现(如前向和后向卷积、attention、matmul、池化和归一化),利用NVIDIA GPU的并行计算能力来加速神经网络的运行icon-default.png?t=N7T8https://mp.weixin.qq.com/s/a7a7S02uiUAXuc4GHf5vsQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1900121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怀念旧的Windows声音?以下是如何在Windows 11中恢复它们

如果你渴望旧的Windows声音,希望能在Windows 11上再次听到,那你就很幸运了。我们将向你展示如何下载必要的声音包并创建复古的声音方案。 如何获取旧Windows声音的声音包 你需要做的第一件事是下载一个包含旧Windows版本声音的声音包。此外,请确保它包含的每个声音都是WAV…

【学习笔记】爱立信SPO 1400 CRAFT软件基础知识6——配置的备份与恢复的详细方法

一、前期准备 提示:下面所有学习内容都是基于以下条件完成的 条件1.已经正确安装并正常运行SPO 1400 CRAFT软件(以下简称LCT) 条件2.确认已正确使用爱立信SPO 1400 CRAFT软件通过网络登录设备(以下简称NE) 具体登录…

Python制作动态颜色变换:颜色渐变动效

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame颜色变换函数主循环 完整代码 引言 颜色渐变动画是一种视觉上非常吸引人的效果,常用于网页设计和图形应用中。在这篇博客中,我们将使用Python创建一个动态颜色变换的动画效果。通…

记录discuz修改用户的主题出售价格

大家好,我是网创有方的站长,今天遇到了需要修改discuz的主题出售价格。特此记录下 方法很简单: 进入用于组-》选择论坛-》批量修改

前端面试题(CSS篇三)

一、简单介绍使用图片 base64 编码的优点和缺点。 base64是一种图片处理格式,通过特定的算法将图片编码为一长串字符串,在页面显示的时候,可以使用该字符串来代替图片的url属性。 使用base64的优点: 减少一个图片的http请求 使用base64的缺点…

倒退型自闭症与轻度自闭症有什么区别?

作为星贝育园自闭症儿童康复中心的一名专业教师,我深知家长们在面对自闭症谱系障碍(ASD)时的种种疑问与挑战,尤其是关于倒退型自闭症与轻度自闭症之间的区别。今天,我将从专业视角出发,深入浅出地解析这两种…

Java项目:基于SSM框架实现的德云社票务管理系统【ssm+B/S架构+源码+数据库+开题报告+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的德云社票务管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、功…

在 Azure 云中开始使用适用于 Ubuntu 的 Grafana

介绍 Grafana 是一款开源工具,可用于可视化和分析数据。它特别适合跟踪计算机系统的运行情况。在构建微服务或其他类型的应用程序时,您可能需要分析日志数据、轻松可视化数据或设置特殊警报以接收有关系统中发生的某些事件的通知。 这就是为什么你可能…

【Python】已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’

文章目录 一、分析问题背景二、可能出错的原因四、正确代码示例五、注意事项 已解决:(Python写入Excel表格报错)‘NoneType’ object has no attribute ‘write’ 一、分析问题背景 在处理Excel文件时,Python提供了多种库来方便…

【Python进阶】函数的扩展

函数 目录 函数 一、容器知识补充 1、字典遍历方法 2、遍历字典元素 keys()方法: values()方法: items()方法: 3、公共运算符 4、公共方法 二、函数介绍 1、函数的概念 2、引入函数 3、函数定义与调用 4、函数的参数 5、函数…

了解基于大模型的多模态风险内容识别技术研究

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 在 AIGC 多场景、多模态的应用中,平台用户输入的信息以及平台模型生成的内容中,可能存在大量涉及色情、敏感、暴力、违禁等风险元素。多模态风险内容识别是一种先进的内容安全分…

【C++】继承(一)

目录 1、继承的概念与定义 1.1 继承的概念 1.2 继承的定义 1.2.1 定义格式 1.2.2 继承基类成员访问方式的变化 2、基类和派生类对象赋值转换 3、继承中的作用域 4、派生类的默认成员函数 4.1 构造函数 4.2 拷贝构造 4.3 operator 4.4 析构函数 面向对象的三大特性是…

CAN转PN网关模块连接激光切割机的配置方法

激光切割机在工业生产中被广泛应用,而激光发射器与控制设备常以不同的协议存在两者之间,CAN总线和Profinet以各自的特点被广泛用于设备当中。本文将介绍介绍兴达易控CAN转Profinet网关模块(XD-PN_CAN20)连接 CAN 激光切割机的使用…

使用Python绘制双向条形图

使用Python绘制双向条形图 双向条形图效果代码 双向条形图 双向条形图用于比较两个类别的数值分布,条形在中轴线两侧对称排列。这种图表常用于显示两个变量的对比情况,例如男女不同年龄段人口数量对比。 效果 代码 import matplotlib.pyplot as plt i…

实现模型贴图的移动缩放旋转

技术:threejscanvasfabric 效果图: 原理:threejs中没有局部贴图的效果,只能通过map 的方式贴到模型上,所以说换一种方式来实现,通过canvasfabric来实现图片的移动缩放旋转,然后将整个画布以map…

APP项目测试 之 APP性能测试-- 性能测试工具(SoloPi工具)

1.SoloPi简介 (1)什么是SoloPi? SoloPi: 是一个无线化、非侵入式的 Android 自动化工具 ,具备 录制回放、性能测试 等功能。 (2)SoloPi的作用是什么? 基础性能测试:能够…

STM32-I2C硬件外设

本博文建议与我上一篇I2C 通信协议​​​​​​共同理解 合成一套关于I2C软硬件体系 STM32内部集成了硬件I2C收发电路,可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能,减轻CPU的负担 特点: 多主机功能&#x…

[word] Word如何快速生成一段文本 #知识分享#学习方法

Word如何快速生成一段文本 Word如何快速生成一段文本?有时候我们会用一大段文字来做一些功能测试,不少朋友的做法就是脸滚键盘,一顿乱按,这样看起来文笔不通,看着也会比较难受,测试功能的效果也不怎么理想…

【全面讲解下Foxit Reader】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

微信小程序毕业设计-学生实习与就业管理系统项目开发实战(附源码+论文)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…