小记 linux 下安装TensorRT8.4
1 确认自己的系统环境
-
查看当前操作系统版本信息
cat /proc/version Linux version 3.10.0-1127.18.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Sun Jul 26 15:27:06 UTC 2020
-
查看CUDA 版本
nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Wed_Oct_23_19:24:38_PDT_2019 Cuda compilation tools, release 10.2, V10.2.89
坑1: 好多人在这里习惯性的nvidia -smi命令查询CUDA版本,其实nvidia-smi显示的cuda版本和nvcc -V有可能是不同的;因为CUDA有runtime api和driver api两种,nvcc -V显示的为runtime api版本,nvidia -smi为driver api版本,我们应选择与nvcc -V显示的CUDA版本。
具体了解两种CUDA差别可以参考这两篇博文
1:cuda 的driver API 和 runtime API
2:nvcc和nvidia-smi
坑2:接上坑,如果nvcc 查不到,先看环境变量。。。。。。。。 -
查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
注:新老版本的cudnn版本信息查看位置不同。
2 Tensorrt下载
通过如下地址下载TensorRT安装包:
-
NVIDIA Developer: 下载链接
-
点击Download Now ,选择自己所需的版本
有兴趣了解版本和功能变化的可以参考官方文档: 链接 -
找到和自己的系统环境、CUDA版本匹配的包下载
注:GA为经过测试的稳定版本;EA为抢鲜体验版 -
解压下载好的压缩包
tar -xzvf ./TensorRT-8.4.1.5.Linux.x86_64-gnu.cuda-10.2.cudnn8.4.tar.gz #解压后将会出现如下文件 bin data doc graphsurgeon include lib onnx_graphsurgeon python samples targets uff
-
将TensorRT的库目录,添加到环境变量(注意用绝对路径)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/TensorRT-8.4.1.5/lib
-
安装python 的TensorRT包(注意选择与自己python版本相符的)
cd TensorRT-8.4.1.5/python pip install tensorrt-8.4.1.5-cp38-none-linux_x86_64.whl
-
如果你要使用的是Tensorflow+TensorRT,需要再安装一个python包、
cd TensorRT-8.4.1.5/uff pip install uff-0.6.9-py2.py3-none-any.whl
-
安装graphsurgeon包,支持自定义结构
cd TensorRT-8.4.1.5/graphsurgeon pip install graphsurgeon-0.4.6-py2.py3-none-any.whl
-
安装onnx-graphsurgeon
cd TensorRT-8.4.1.5/onnx_graphsurgeon pip install onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
常见的报错(持续迭代记录)
-
如果再使用tensorrt过程中,报一下错误
ImportError: libnvinfer.so.8: cannot open shared object file: No such file or directory
1:检查一下自己的cudnn、cuda是否安装或版本不对
2:检查环境变量,是否成功添加进去在最后给碰巧刷到这篇小记刚接触nvidia生态的同学一点建议(大佬自动忽视)
1:因为nvidia近些年的AI生态sdk迭代速度很快,所以想通过查论坛粘指令就能完美安装配置满足自己的需求很难,仔细看看也能发现不少博客论坛教程都是一年前甚至三年前的版本,跟着装肯定是装一堆坑,所以尽量要学会看官方文档,也要学会看官方文档中的一些链接文档,nvidia的好多坑其实在这种链接补充文档里都有解释和解决方法。2:nvidia developer论坛:链接
实在特别难解决的坑就上nvidia官方的论坛,上面会有nvidia 的工程师回复解决(回复时间。。。。。很长)