总体步骤参考这篇文章
https://zhuanlan.zhihu.com/p/35468450
1.准备环境
TensorRT 依赖cuda和cudnn,且根据下载的TensorRT版本,需要严格保证cuda和cudnn的版本一致性,否则在运行的时候会出现各种链接库的错误。
我这里下载的是TensorRT 4.0.0.3 for Ubuntu 16.04 and CUDA 8.0 tar ,需要cuda 8.0和cudnn 7.0.5的支持。
准备工作中,需要保证cuda 8.0和cudnn 7.0.5都已经安装好,分别放在不同目录中。另外,需保证cuda 8.0的lib64文件夹中不包含其他版本的cudnn,不然在运行的时候会优先加载该版本的cudnn,从而出现编译和运行错误。
2.下载 TensorRT的tar 包,并解压进入
$ tar -xzf TensorRT-4.0.0.3.Ubuntu-16.04.4.x86_64-gnu.cuda-8.0.cudnn7.0.tar.gz
$ cd TensorRT-4.0.0.3
3.TensorRT没有源码,只提供编译好的库文件,放在TensorRT-4.0.0.3/lib目录下,所以需要添加该目录到环境变量LD_LIBRARY_PATH中。同时确保将cuda和cudnn的目录也分别加入环境变量CUDA_INSTALL_DIR和CUDNN_INSTALL_DIR,后面编译c++版本时需要,不然编译时会默认采用/usr/local/cuda目录。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<eg:TensorRT-4.0.0.3/lib>
export CUDA_INSTALL_DIR=xx/cuda-8.0/
export CUDNN_INSTALL_DIR=xx/cudnn-7.0.5/
4. 指定好环境变量后,可以编译TensorRT-4.0.0.3/samples目录下的c++测试代码。
TensorRT编译依赖gcc-5.3以上,编译前需安装好gcc-5.3。具体安装顺序可参考https://my.oschina.net/gongdeyang/blog/630451,即
gmp-4.3.2 --> mpfr-2.4.2 --> mpc 0.8.1 --> gcc 5.3.0
同时在安装gcc之前,需将gmp mpfr mpc的lib目录加入环境变量LD_LIBRARY_PATH中,避免编译时找不到库文件。
$ cd samples
$ make
如果编译没有错误,生成的bin文件存放在TensorRT-4.0.0.3/bin目录下。
如果出现编译错误,很大程度跟cuda和cudnn版本不一致有关,需要仔细check下。
5. 运行c++测试样例
$ ./bin/sample_mnist
出现如图的话,恭喜~ TensorRT已经可以成功安装使用了。
6. 编译python接口
TensorRT支持python2.7和python3.5,可以根据自己的python版本选择安装,这里以2.7版本为例
同时,python版接口依赖protobuf-3.4.0,numpy-1.14.2和h5py2.8.0以上版本,需提前更新
$ cd python
$ pip install tensorrt-4.0.0.3-cp27-cp27mu-linux_x86_64.whl
$ cd uff
$ pip install uff-0.3.0-py2.py3-none-any.whl
安装完成后可通过键入命令查看
$ which tensorrt
$ which convert-to-uff
7. 修改变量
<PYTHON_INSTALL_PATH>/tensorrt/examples/custom_layers/tensorrtplugins/setup.py中的TENSORRT_INC_DIR和TENSORRT_LIB_DIR变量,将其分别指向"TensorRT-4.0.0.3/include"和"TensorRT-4.0.0.3/lib"文件夹
8.测试python接口
$ python -c "import tensorrt"
没有问题则安装完毕。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)