Ubuntu18.04、CUDA11.1安装TensorRT

最近想试试推理加速,因为跑的预测有点慢,一开始是打算从数据处理上实现,采用并行数据处理,但是这个有所难度,而且有几张显卡可用,就想着怎么把显卡利用上。而且了解到推理加速后,就先尝试一下看看效果,这里尝试的是tensorrt,暂记一下设置过程。

首先是tensorrt的安装,有很多教程,但是版本不一定匹配,这里大家可以找到根据自己的软件版本进行安装的方法。

1、TensorRT版本匹配

明确从哪里去安装,官方安装包在哪,怎么装对的版本,怎么办版本匹配上,不排除非官方匹配版本存在兼容情况,但是根据官方版本问题会少很多。
TensorRT是英伟达提出的,用来加速数据处理,
官网介绍:https://docs.nvidia.com/deeplearning/tensorrt/index.html
Ubuntu18.04、CUDA11.1安装TensorRT_第1张图片
tensorRT的安装和操作系统 windows还是Linux,CUDA版本,cudnn版本,gcc版本有关联,要根据自己已经装了的软件或想要的版本下载正确的tensorRT版本。下面是最新的版本的版本匹配查询网站。
版本查询网站:https://docs.nvidia.com/deeplearning/tensorrt/support-matrix/index.html
Ubuntu18.04、CUDA11.1安装TensorRT_第2张图片
继续下滑鼠标,可以看到对具体系统的安装版本需求:
Ubuntu18.04、CUDA11.1安装TensorRT_第3张图片
如果要查询其他版本,在当前页面找到如下点击:
Ubuntu18.04、CUDA11.1安装TensorRT_第4张图片
打开后可以看到多个版本的系列tensorRT:
Ubuntu18.04、CUDA11.1安装TensorRT_第5张图片找到想要的版本,确定安装的相关软件的版本进行下载安装,比如我是Ubuntu18.04,装了cuda11.1,我要找到合适的tensorrt版本,我就从里面点开来看,找到合适的版本,最终我找到了tensorrt7.2.3

Ubuntu18.04、CUDA11.1安装TensorRT_第6张图片
Ubuntu18.04、CUDA11.1安装TensorRT_第7张图片

Ubuntu18.04、CUDA11.1安装TensorRT_第8张图片
按照上面的方法。基本可以确定安装版本不会搞错。

2、TensorRT下载安装

接下来是下载安装,这个有点复杂,需要注册,答题,填问卷啥的,随便填就行了,填完了可以下载到需要的版本。

如下页面可进入下载,网址是:https://developer.nvidia.com/tensorrt

Ubuntu18.04、CUDA11.1安装TensorRT_第9张图片
进入后界面如下:

Ubuntu18.04、CUDA11.1安装TensorRT_第10张图片
Ubuntu18.04、CUDA11.1安装TensorRT_第11张图片
我下载的是压缩包文件,下载之后解压就行,解压命令:

tar xzvf TensorRT-${version}.${os}.${arch}-gnu.${cuda}.${cudnn}.tar.gz

Ubuntu18.04、CUDA11.1安装TensorRT_第12张图片
解压之后,进入里面的文件夹,通过pip install xxx.whl 命令,安装相关内容。
Ubuntu18.04、CUDA11.1安装TensorRT_第13张图片

3、验证及相关bug解决

至此基本上装完了TensorRT,可以在python命令行里验证一下能不能导入库

import tensorrt
import uff

这两个导入一下,我是第二个导入时碰到了 找不到tensorflow模块的错误,自己又装了一个tensorflow2.6.0,然后就可以正常导入这两个库了。

注意:解压tensorRT后尽量把里面的 libinclude文件夹中的内容拷贝到 /usr/lib//usr/include/ 文件夹下,避免系统找不到相关库,不然就用export的办法,把这两个库的路径加到系统里。
碰到的bug:
1、ImportError: libnvinfer.so.7: cannot open shared object file: No such file or directory
第一个就是把tensorRT里面的 lib和include文件夹中的内容拷贝到 /usr/lib/ 和 /usr/include/ 文件夹下,在里面直接找到这个文件夹拷到/usr/lib/就行
2、libnvrtc.so.11.1: cannot open shared object file: No such file or directory 这个不太一样,解决办法

find -name libnvrtc.so.11.1

找到了一并拷贝到 /usr/lib/ 就可以解决,

基本上这就完成了在Ubuntu18.04、CUDA11.1安装TensorRT7.2.3,后面也成功用起来了,用的框架是yolov5,不过还没有对比速度是否有提升。

另外还涉及到pycuda的安装,我不确定这个的安装是否是必须的,官方说要装,但我没装,可能我现在是onnx导出的engine文件运行并不需要这个。
Ubuntu18.04、CUDA11.1安装TensorRT_第14张图片

你可能感兴趣的:(显卡驱动,CUDA,CuDnn等安装教程,模型推理,Nvidia,TensorRT,python)