ubuntu18.04+cuda11.2+cudnn8.0.5+Tensorrt7.2.2.3安装
环境
系统:ubuntu 18.04
编译器:gcc 7.5
如果之前安装过deb格式的tensorrt,需要卸载
卸载tensorrt
sudo apt-get purge "libnvinfer*"
sudo apt-get purge graphsurgeon-tf onnx-graphsurgeon
sudo apt-get purge uff-converter-tf
如果用pip安装过对应的包(根据自己安装过的包卸载)
sudo pip3 uninstall tensorrt
sudo pip3 uninstall uff
sudo pip3 uninstall graphsurgeon
sudo pip3 uninstall onnx-graphsurgeon
删除key
由于之前安装过其他版本的tensorrt,安装新的tensorrt时会默认安装key中最新版本的tensorrt,因此想要安装老版本的tensorrt需要删除其他版本的key。
查看key
sudo apt-key list
查看key列表
ls /etc/apt/source.list.d
删除key
sudo rm /etc/apt/source.list.d/nv-tensorrt-ubuntu1804-cuda11.3-trt8.0.0.3-ea-20210423.list
删除安装包
sudo rm -rf /var/nv-tensorrt-repo-cuda11.3-trt8.0.0.3-ga-20201211
安装tensorrt
deb版本
cuda和cudnn也要是deb安装
os="ubuntuxx04"
tag="cudax.x-trt8.x.x.x-ea-yyyymmdd"
sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-${tag}/7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt
验证
dpkg -l | grep TensorRT
进入/var/nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.3.4-ga-20210226
安装剩下的包,eg:uff
sudo apt-get install uff-converter-tf
如果要安装python接口,下载压缩包版本的tensorrt,在解压后的目录中通过pip安装对应的whl
sudo pip3 install TensorRT-${version}/python/tensorrt-*-cp3x-none-linux_x86_64.whl
可能会遇到部分包缺失依赖
libnvinfer-bin : Depends: libnvinfer-plugin7 (= 7.2.2-1+cuda11.1) but it is not going to be installed
Depends: libnvparsers7 (= 7.2.2-1+cuda11.1) but it is not going to be installed
Depends: libnvonnxparsers7 (= 7.2.2-1+cuda11.1) but it is not going to be installed
安装对应的依赖
sudo apt-get install libnvinfer-plugin7 (= 7.2.2-1+cuda11.1
验证
cp /usr/src/tensorrt ~/
cd ~/tensorrt/sample/sampleMNIST
make
cd ~/tensorrt/bin
./sample_mnist
如果提示数据不存在,进入data/mnist
目录,运行download_pgms.py
下载数据
编译好的压缩包安装
解压压缩包
version="8.x.x.x"
arch=$(uname -m)
cuda="cuda-x.x"
cudnn="cudnn8.x"
tar xzvf TensorRT-${version}.Linux.${arch}-gnu.${cuda}.${cudnn}.tar.gz
写入路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TensorRT-${version}/lib>
如果要安装python接口,在解压后的目录中通过pip安装对应的whl
sudo pip3 install TensorRT-${version}/python/tensorrt-*-cp3x-none-linux_x86_64.whl
验证
cp /usr/src/tensorrt ~/
cd ~/tensorrt/sample/sampleMNIST
make
cd ~/tensorrt/bin
./sample_mnist
如果提示数据不存在,进入data/mnist
目录,运行download_pgms.py
下载数据
可能遇到的问题
libm.so.6: version `GLIBC_2.27‘ not found
问题libm.so.6: version `GLIBC_2.27‘ not found的解决方法
终端输入strings /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC_
ubuntu16.04会得到:GLIBC_2.2.5
、GLIBC_2.4
、GLIBC_2.15
、GLIBC_2.18
、GLIBC_2.23
ubuntu18.04会得到:GLIBC_2.2.5
、GLIBC_2.4
、GLIBC_2.15
、GLIBC_2.18
、GLIBC_2.23
、GLIBC_2.24
、GLIBC_2.25
、GLIBC_2.26
、GLIBC_2.27
本质上是ubuntu16.04安装成了ubuntu18.04的版本