ubuntu下TensorRT 7/8环境配置及安装

为了部署YOLO V5的模型,部署了两次TensorRT,每次都踩了不少坑,决定把完整的过程及踩过的坑记录下来。  

一些需要提前强调的点:

  1. windows下不支持tensorrt的python API。
    ModuleNotFoundError: No module named ‘tensorrt‘_脆皮茄条的博客-CSDN博客
  2. 所选择的TensorRT版本一定要与自己系统中的CUDA相对应(目前最新的tensorrt7.x是支持到了11.2,但不建议选择11.2,之前尝试过,无法配置成功;因此我选择了安装CUDA 11.1;另外,tensorrt8.0支持到了cuda11.3),总之,我尝试过的可行的方案是:
    1. cuda11.1配tensorrt 7.x;
    2. cuda11.3配tensorrt 8.x;
  3. 仅支持以deb方式安装的CUDA(以runfile方式安装的CUDA会遗漏一些组件,会出现如下的报错)。还看到一种说法是从某个cuda版本开始后,.run安装会把libcublas.so这些东西装在另一个文件目录下,所以需要做一个软链接,但我没进行过尝试。
  4. 以deb方式安装cuda会强制卸载系统中已有的显卡驱动,安装cuda自带的驱动,所以有些同学可能会遇到cuda自带的显卡驱动版本低于显卡需要的驱动版本(导致开机进不了桌面且nvidia-smi命令无法查看信息)。只需在cuda安装完成后(不要重启)卸载附带安装的驱动,用命令:sudo apt-get remove nvidia-*,再用sudo apt install nvidia-xxx(这个xxx选择显卡适配的驱动板本,建议选择整十倍数的版本)

 下面正式开始安装步骤(以TensorRT 7.2.3.4和CUDA11.1为例)。

一、安装CUDA及cuDNN

这个很简单,唯一要注意的是要用deb方式安装,我参考的教程:ubuntu18.04.4 deb版本 cuda 卸载_夏华东的博客的博客-CSDN博客

二、安装TensorRT

1、去Nvidia官网下载TensorRT:https://developer.nvidia.com/nvidia-tensorrt-7x-download

2、选择对应Ubuntu和CUDA版本的TensorRT,选择DEB local repo package下载(tar版本也下载一下,第五步要用,是为了安装python依赖)。

3、根据以下命令进行安装,记得把命令中的TensorRT文件名替换成自己的TensorRT。

sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.3.4-ga-20210226_1-1_amd64.deb
sudo apt update
sudo apt install tensorrt

 4、整个过程如果没有出现任何异常报错信息的话,就算安装完成了。

5、如果我们想在python当中import tensorrt,可能有的人会直接pip3 install tensorrt,并且表面上看上去也能安装成功,但实际运行的时候仍然会报错:no module named 'tensorrt',这是因为我们安装的姿势不正确,正确姿势如下:

(1)解压TensorRT-7.2.3.4.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.1.tar.gz

(2)cd 到python目录里

(3)pip3 install tensorrt-7.2.3.4-cpxx-xxxx.whl(选择适合自己python版本的)

不出意外应该能安装成功。

三、环境验证

这里有一个转换好的trt模型,需要注意./utils/nms文件夹下的链接设置。

链接:https://pan.baidu.com/s/1jHgOJkCM6MAFasSsEF0tKg 
提取码:wwr1

tensorrt转换来的trt模型是依赖于显卡(换了显卡也不行)、驱动和对应版本的tensorrt的,任一改变都导致模型不能使用,要重新生成。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值