记ubuntu18.04安装使用TensorRT

这里记录一下我第一次在ubuntu18.04 desktop上安装使用TensorRT,主要参考的是官方教程:
https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html

pre-preparation

首先你安装了显卡驱动,版本对应的CUDA和CuDNN(最好是离线安装的,不是通过conda安装的,不会的可以看这篇博客),建议安装cuda10.2的(因为TensorRT最新版支持的10.x较多的就是10.2),下文测试都是基于我系统的cuda10.2+cudnn8.0.2

1. 激活虚拟环境,安装pyCUDA

pip install 'pycuda<2021.1'

安装完成:
记ubuntu18.04安装使用TensorRT_第1张图片

2. 下载安装TensorRT

去官网注册登录下载对应你系统版本的TensorRT(我这里下的是目前最新版8.2.1,里面的GA和EA分别代表general availability和early acess,GA就是稳定版,建议选择GA):
因为接下来用的官网的tar.gz安装方式,所以按照下图选择TAR包下载
记ubuntu18.04安装使用TensorRT_第2张图片
下载完解压压缩包:

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

然后添加环境变量:

gedit ~/.bashrc
# 换成你自己的路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TensorRT-${version}/lib> 
# 保存关闭
source ~/.bashrc

进入到python目录,因为主要之后用的是python API,然后选择你虚拟环境对应的python版本的用pip安装:
在这里插入图片描述
另外两个包也可以安装一下:

cd TensorRT-${version}/graphsurgeon
python3 -m pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
cd TensorRT-${version}/onnx_graphsurgeon
python3 -m pip install onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl

通常xxx\TensorRT-x.x.x.x\下也有uff,是用于转化tensorflow的模型的,不用tf的话就不用安装了

3. 测试

上面都完事了可以编译测试一下:
我这边因为是最新版的trt,所以里面已经有了测试图片(以.pgm结尾的,所以也没有download_pgms.py文件了):
记ubuntu18.04安装使用TensorRT_第3张图片
只需要简单的切换到samples/sampleMNIST下make一下就行

(open-mmlab) lz@lz:~/Downloads/TensorRT-8.2.1.8/samples/sampleMNIST$ make


然后返回bin目录,运行一下就通过测试了

cd ../../bin/
./sample_mnist

记ubuntu18.04安装使用TensorRT_第4张图片

4. 后续注意事项

  1. 事后发现在终端里面能导入import tensorrt,但是pycharm里面就不行了,会报类似ImportError: libnvinfer.so.8: cannot open shared object file: Nosuch file or directory的错误, 有两种解决方案,可以看solution1, solution2
  2. 如果出现了类似TensorRT was linked against cudnn 8.2.1 but loaded cudnn 8.0.2,说明你安装的cudnn版本和你安装的TensorRT里面的cudnn版本不一致,可以参考这个solution换掉系统上的cudnn版本

你可能感兴趣的:(环境搭建代码调试部署,trt)