深度学习模型加速部署的环境配置,需要在本地安装NVIDIA的一些工具链和软件包,这是一个些许繁琐的过程,而且一步错,步步错。笔者将会根据自己的经验来提供建议,减少踩坑几率。当然可以完全按照官方教程操作,但是本人也发现一些问题,下面会说到。官方教程:Installation Guide :: NVIDIA Deep Learning TensorRT Documentation
笔者的PC配置信息为:ubuntu22.04 + 1650
下面将会从cuda driver驱动安装说起,各个步骤的注意事项和技巧。
1.驱动安装
对于显卡驱动安装,网上的教程五花八门,大部分教程都是手动安装,原因是比较稳定。但并不总是如此。nvidia官方推荐的是通过系统自带的软件更新器安装,因此推荐使用这种简单的方法,效果一样。
当然通过自带的软件更新器安装也可以通过命令行进行。
首先检查驱动:ubuntu-drivers devices
效果和上图一样
然后安装驱动 (建议安装带recommanded) :sudo apt-get install nvidia-driver-xxx(替换成自己的)
然后重启 reboot
查看显卡驱动安装情况:nvidia-smi
可以看见驱动版本号525.125,CUDA版本号12.0。第一个坑:
此处需要注意,此处的CUDA Version意思是最大支持的cuda版本,等会实际安装的cuda toolkit可能会小于这个版本,但下载的时候仍然需要按照此处的版本为标准,而不是toolkit的版本。对于笔者,后续也就是12.0,切记。
至此,驱动安装结束。
2.cuda toolkit安装
cuda toolkit安装需要按照官方指定的对应驱动版本下载。CUDA 12.2 Release Notes — cuda-toolkit-release-notes 12.2 documentation
笔者驱动为525.125,因此选择第一个进行下载(从我的驱动信息同样说明,笔者的cuda最高支持版本为12.0,刚好与其对应)。各位根据自己的版本下载,官方链接: CUDA Toolkit Archive | NVIDIA Developer
进行完上面的操作之后,还需要手动安装nvcc
sudo apt install nvidia-cuda-toolkit
安装可能失败,提示需要安装其他的XXX依赖包,
只需要根据提示操作:sudo apt-get install XXX
安装结束,验证:nvcc -V
查看cuda toolkit版本
此处,第二个坑,本站有帖子说此处显示的为cuda版本,也就是11.5。但通过笔者的实践操作,这是不对的,接下来如果按照这个版本去安装cudNN和tensorRT会导致失败,笔者已经通过不同的方式验证了其失败的情况。我已经删除一些我下过的deb包了,因为太占空间,下面是我还没来得及删除的。因此cuda版本请参考第一条,驱动安装,以那里为准。NVIDIA官方在教程里并为明确说明,因此这是一个坑。
3.cuDNN安装
nvcc安装结束,开始安装cuDNN。首先从中文官网下载匹配的deb包,选择对应版本。CUDA 深度神经网络库 (cuDNN) | NVIDIA 开发者
此时会发现cn网站不提供下载,也是醉了。
被迫转到CUDA Deep Neural Network (cuDNN) | NVIDIA Developer英文官网下载,而且需要注册账号,没办法。登陆之后,你有两个下载选择。
上文已经讲到,一切以第一小节里的cuda version信息为准。笔者为cuda为12.0因此选择第一个。同样选择对应平台版本下载即可。
下载完成之后进行安装:sudo dpkg -i xxx.deb
安装完成之后继续执行:
sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
接下来是第三个坑,官方文档里需要继续安装三个软件包,但是按照官方的提示是无法安装的,如下图,红色的是上面两个已经执行的命令,绿色的是接下来要执行的命令。分别是安装三个软件包。
然而,这三个软件包是放在系统的:/var/cudnn-local-repo-ubuntu目录下
进入该目录直接sudo dpkg -i xxx.deb安装即可。
安装完成之后,进行验证,直接按照官方的verify方法即可:Installation Guide - NVIDIA Docs
最后输出test passed即可。
4.tensorRT安装
官网下载Log in | NVIDIA Developer,找到自己的cuda版本和平台。官方安装步骤Installation Guide :: NVIDIA Deep Learning TensorRT Documentation
安装下载的deb包,根据提示操作。
最后测试是否成功:dpkg -l | grep TensorRT
输出如下: