视觉入门篇——深度学习环境部署(ubuntu系统安装TensorRT)

部署运行你感兴趣的模型镜像

提示:我在思考后面要不要出opencv的安装教程,思考了一下,可以考虑,这个TensorRT其实更多用于我们使用的边缘计算的设备加速运算中,大家可以根据自己的需求选择是否学习


前言

在比赛过程中我最希望用到的设备就是B01或者Orin nano,这样就可以使用TensorRT进行进一步的模型加速。当然,加速模型的方法不止这一种,但是这是nvidia公司官方支持的,比较好用,让我们来看一下吧


一、TensorRT是什么?

官方解释:
NVIDIA® TensorRT™ 是一个工具生态系统,可供开发者实现高性能深度学习推理。TensorRT 包括推理编译器、运行时和模型优化,可为生产应用提供低延迟和高吞吐量。TensorRT 生态系统包括 TensorRT 编译器、TensorRT-LLM、TensorRT Model Optimizer 和 TensorRT Cloud。
画重点:可为生产应用提供低延迟和高吞吐量。TensorRT 直接集成到 PyTorch以及 Hugging Face 只需一行代码即可将推理速度提高 6 倍。
TensorRT 可以针对边缘、笔记本电脑和台式机以及数据中心的应用优化模型。它为主要的 NVIDIA 解决方案 (例如 NVIDIA TAO、NVIDIA DRIVE、NVIDIA Clara™ 和 NVIDIA JetPack™) 提供支持,并与特定应用的 SDK (例如 NVIDIA NIM™、NVIDIA DeepStream、NVIDIA® Riva、NVIDIA Merlin™、NVIDIA Maxine™、NVIDIA Morpheus 和 NVIDIA Broadcast Engine) 集成。
想要进一步了解相关知识,可以去官网了解:https://developer.nvidia.cn/tensorrt

二、安装步骤

1.选择合适的版本

相比较cudnn,TensorRT对于cuda和cudnn的版本有了进一步的要求,有的tensorrt与cuda和cudnn是强相关的。这一点在边缘计算设备上尤为明显,所以不能单独修改B01的cuda和cudnn版本,但是可以通过某些手段去升级jetpack版本从而升级cudnn和tensorrt版本,这个方法以后会介绍出来。
选择tensorrt版本的方法,看下去你就知道了。

2、安装方法

主体安装

这里直接给出com的链接:https://developer.nvidia.com/tensorrt
直接点击Download Now
在这里插入图片描述tensorrt的最新版本是tensorrt10,一般对应着jetpack6.x,如果你需要使用jetpack6那么你基本上逃不开它,这里我选择安装tensorrt10和8
在这里插入图片描述
点击tensorrt10
在这里插入图片描述这里跟下载cudnn的方法类似,我选择10.8GA
GA与EA的区别是
EA是测试版,GA是正式版
在这里插入图片描述看到这里你基本上就明白了两种安装方法的区别了,与cudnn一样的tar版本安装和deb安装的区别。所以这里我就不多赘述deb安装的方法了,会在最后给出安装deb的命令。tensorrt10.8同样有cuda11和cuda12的版本,大家做好区分即可。
我们继续讲述tar版本安装方法
点击链接后,如果你没有登陆账号,就仍然会遇到需要邮箱验证的提示,如果已经登陆了就会自动下载,文件大小4.1G,再次感受到多分配内存的重要。
如果大家不想在火狐里面下载,那么,不知道你是否还记得下载cuda时的wegt命令
我们可以在下载栏中右键复制下载链接,然后在终端中复制并在开头加上wget

wget https://developer.download.nvidia.cn/compute/machine-learning/tensorrt/10.8.0/tars/TensorRT-10.8.0.43.Linux.x86_64-gnu.cuda-11.8.tar.gz?t=eyJscyI6InJlZiIsImxzZCI6IlJFRi1kZXZlbG9wZXIubnZpZGlhLmNuLyJ9

这里还要说明,在终端中wegt命令下载地址为当前终端地址
在这里插入图片描述文件名中的11.8仍然是最大支持版本,仍然可以向下兼容,11.1-11.8均可

解压命令,需要一点时间,请耐心等待
tar -xzvf TensorRT-10.8.0.43.Linux.x86_64-gnu.cuda-11.8.tar.gz

此时,tensorrt就已经安装好了,是的,你没有看错,tensorrt安装完毕了。不过,这里需要稍稍注意一下,tensorrt尽量放到一个不容易修改的地方,以防cmake或者make后期编译找不到,我选择放在cuda的同级目录下

sudo mv TensorRT-10.8.0.43 /usr/local/

此时我们只需要将tensorrt路径写入.bashrc即可

gedit ~/.bashrc

打开文本编辑器写入以下,需要根据自己的情况去更改哦~

#TensorRT10.8
export TENSORRT_DIR=/usr/local/TensorRT-10.8.0.43
export LD_LIBRARY_PATH=$TENSORRT_DIR/lib:$LD_LIBRARY_PATH
export PATH=$TENSORRT_DIR/bin:$PATH

最后更新`

source ~/.bashrc
sudo ldconfig

`
如何测试是否正确安装了呢?tensorrt自带有测试脚本,让我们使用一下。

此时你已经完成了c++的安装,让我们去完成其他部件的安装吧~
让我们找到/usr/local/TensorRT-10.8.0.43/samples/sampleOnnxMNIST
终端进入该文件夹,进行cpp编译

sudo make clean
sudo make

在这里插入图片描述这里说没有设置CUDA_INSTALL_DIR,TRT_LIB_DIR所以使用默认的路径,如果你安装一个cuda可以直接使用,我们有两个,所以设置一下。…/的意思是当前目录的上一个目录,./的意思是当前文件夹,相信在此之前你肯定已经明白了这些符号的意思,希望我此时的解释是多余的。
让我们之间输入编辑命令

sudo gedit ../Makefile.config 

在这里插入图片描述修改完毕,重新执行上面两行命令
在这里插入图片描述
这里提示我们编译成功的可执行文件在tensorrt目录下的bin文件夹中,让我们进入

cd ../../bin

在这里插入图片描述此时让我们查看一下当前目录下的文件,使用ls命令
在这里插入图片描述执行测试文件

./sample_onnx_mnist

使用sudo会报错
在这里插入图片描述这是因为我们并没有在系统级别的共享库中添加tensorrt的共享库路径,并且测试脚本不存在权限的问题,所以可以直接执行
在这里插入图片描述
手写数字测试正确,说明tensorrt安装没问题哦~

其他部件安装

Python3支持
tensorrt10.8不支持python2。这个时候我们需要查看一下我们的python3版本,终端输入python3
在这里插入图片描述ubuntu20.04默认python3版本为3.8,按ctrl+z退出
让我们进入/usr/local/TensorRT-10.8.0.43/python
然后安装python3的pip支持,没有安装的话会报Command 'pip3' not found
pip命令相信大家肯定去学习了

sudo apt install python3-pip

然后安装python3.8对应版本,这里有三个包,我们一行命令全部安装

pip install tensorrt*-cp38-none-linux_x86_64.whl

在这里插入图片描述此时就完成了python3包的支持,但是仅仅是对系统的python3.8的支持,对于后续可能使用的虚拟python环境并不支持。关于虚拟环境的东西我后续会说的。
剩下的三个支持在tensorrt10中已经集成了,这里我使用tensorrt8来演示,最后我选择cuda11.6使用tensorrt8,cuda12.2使用tensorrt10,大家根据自己的需求去做即可。

这里就要说一下版本共存问题了,因为后续部署起来基本是使用c++版本tensorrt,所以只需要去修改.bashrc中的路径即可实现版本更换。但是python版本无法进行共存,如果同时支持的话可能会更换掉,一般我不用python支持,所以看大家自己使用了

UFF Converte支持​​
用于转换TensorFlow模型。
在这里插入图片描述大家应该进行pip换源了吧~,不然会很慢哦
这些警告表明你安装的某些工具(如 f2py、convert-to-uff)的脚本被放在了 ~/.local/bin目录下,但该目录未包含在系统的 PATH环境变量中,不想看到警告的话,使用写入命令

echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc

别忘了更新哦,source ~/.bashrc

GraphSurgeon​​
用于操作TensorFlow计算图
在这里插入图片描述

ONNX GraphSurgeon​​​​
用于操作ONNX模型
在这里插入图片描述

3、deb安装方法

deb安装的tensorrt会被系统优先使用,如果你只安装了一个版本,那你以后使用起来会非常方便,之前也说过,deb安装对于单版本来说是非常推荐的。但是如果你安装了两个版本,还是建议你使用tar安装,并使用环境变量去进行版本切换。
deb安装tensorrt需要保证cuda是deb安装的

sudo dpkg -i nv-tensorrt-local-repo-ubuntu2004-10.8.0-cuda-12.8_1.0-1_amd64.deb 
sudo cp /var/nv-tensorrt-local-repo-ubuntu2004-10.8.0-cuda-12.8/nv-tensorrt-local-CFDE313F-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get install tensorrt

会占据更大的空间~
在这里插入图片描述
安装验证

dpkg-query -W tensorrt

在这里插入图片描述实测也是可用的(学长把系统重装了一下,测试确实没问题,可以使用,但是前提是cuda是deb安装的哈)
在这里插入图片描述


总结

tensorrt是我们在jetson设备上部署和优化模型的重要手段,在实际使用中我们一般只会使用c++版本,而不会使用python,所以聪明的你应该学会了c++吧~。如果你还有别的问题或者其他软件的安装部署,请在评论区留言,我们下次见~

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值