Ubuntu16.04 安装 TensorRT

安装步骤

首先下载tar版本的安装包,下载地址需要登陆NVIDIA
安装TensorRT前需要安装Cudacudnn,安装步骤可以参考 ubuntu安装cuda和cudnn
打开下载的TensorRT所在路径,解压下载的tar文件:

1
$ tar -xzvf TensorRT-XXX.tar.gz

解压好添加环境变量:

1
2
3
4
5
6
7
$ vim ~/.bashrc # 打开环境变量文件
# 将下面三个环境变量写入环境变量文件并保存
export LD_LIBRARY_PATH=TensorRT解压路径/lib:$LD_LIBRARY_PATH
export CUDA_INSTALL_DIR=/usr/local/cuda-9.0
export CUDNN_INSTALL_DIR=/usr/local/cuda-9.0
# 使刚刚修改的环境变量文件生效
$ source ~/.bashrc

下面是安装PythonTensorRT包:
进到解压的TensorRT目录下的Python目录:

1
2
3
4
# 对于python2
$ sudo pip2 install tensorrt-XXX-cp27-cp27mu-linux_x86_64.whl
# 对于python3
$ sudo pip3 install tensorrt-XXX-cp35-cp35m-linux_x86_64.whl

如安装失败请参考文章末尾的解决方案。
测试TensorRT是否安装成功,进入Python编辑器加载tensorrt

1
2
>>> import tensorrt
>>> tensorrt.__version__

会输出TensorRT的版本号,即安装成功。
然后转到uff目录下安装uff包:

1
2
3
4
# 对于python2
$ sudo pip2 install uff-0.1.0rc0-py2.py3-none-any.whl
# 对于python3
$ sudo pip3 install uff-0.1.0rc0-py2.py3-none-any.whl

测试:

1
$ which convert-to-uff

会输出uff的安装路径。
拷贝lenet5.uffpython相关目录进行验证:

1
2
3
4
5
6
$ sudo cp TensorRT-XXX/data/mnist/lenet5.uff TensorRT-XXX/python/data/mnist/lenet5.uff
$ cd TensorRT-XXX/samples/sampleMNIST
$ make clean
$ make
$ cd /TensorRT-XXX/bin(转到bin目录下面,make后的可执行文件在此目录下)
$ ./sample_mnist

命令执行顺利即安装成功。

错误

在安装PythonTensorRT包时可能出现的错误:

1
2
3
4
In file included from src/cpp/cuda.cpp:1:0:
src/cpp/cuda.hpp:14:18: fatal error: cuda.h: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

原因

显示是找不到cuda.h,根据网上分析是因为用了sudo之后环境变量用的是root的环境变量。
参考

解决方案

cuda的安装路径添加到root的环境变量中,在root角色下安装PythonTensorRT

1
2
3
4
5
$ sudo vim /etc/profile.d/cuda.sh
添加:export PATH=/usr/local/cuda-9.0/bin:$PATH
$ sudo su -
$ pip2 install tensorrt-XXX-cp27-cp27mu-linux_x86_64.whl
$ exit

参考:https://blog.csdn.net/xll_bit/article/details/78376320