tensorRT-安装

最近在参加一个短视频实时分类的比赛,目前准确率还可以,就是速度有点慢目前也就5-6fps,离达到实时分类还有点距离,为实现网络加速,考虑使用tensorRT来加速网络的前向计算。下面是我安装tensorRT的一些记录,关于tensorRT的介绍及使用,稍后再写。先说一下我的电脑的环境配置:

环境配置

  • ubuntu 16.04
  • python 3.5
  • cuda 8.0
  • cudnn 7.0.5

目前NVIDIA官网给出的tensorRT的最新版有tensorRT 4.0.6,一开始安装这个4.0版本一直报错,估计是电脑配置的问题,后来就换成tensorRT3.0.4版本,安装就成功了。由于我的cudnn是基于tar文件安装的,所以在安装tensorRT时选择的也是基于tar文件安装,不过官网还给出.deb文件来安装tensorRT。

tensorRT下载

首先从官网这里下载TensorRT 3.0安装文件,我这里下载的是tensorRT3.0.4

如果无法进入官网下载这个文件,可以从我这里下载。还有cudnn-8.0-linux-x64-v7.tgz,也可以从我这里下载。
解压tensorRT文件:

1
tar -xzvf TensorRT-3.0.4.Ubuntu-16.04.3.x86_64.cuda-8.0.cudnn7.0.tar

添加环境变量:

1
2
vi ~/.bashrc #在该文件的最后一行添加如下内容
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/niceliu/data/TensorRT-3.0.4/lib

然后使用source ~/.bashrc 使得环境变量生效。

安装Python tensorRT

1
2
3
4
5
 cd data/TensorRT-3.0.4/python
# if Python 2.7
sudo pip2 install tensorrt-3.0.4-cp27-cp27mu-linux_x86_64.whl
# if Python 3.5
sudo pip3 install tensorrt-3.0.4-cp35-cp35m-linux_x86_64.whl

注意:一定要使用sudo安装,否则安装成功后bin文件不在/usr/local/bin目录下。
如果可以which到tensorRT,证明安装成功

1
2
$ which tensorrt
/usr/local/bin/tensorrt

也可以通过import tensorrt来测试是否安装成功。

安装UFF

1
2
cd data/TensorRT-3.0.4/uff
sudo pip3 install uff-0.2.0-py2.py3-none-any.whl

如果可以which到convert-to-uff,证明安装成功

1
2
$ which convert-to-uff
/usr/local/bin/convert-to-uff

测试tensorRT

测试tensorRT是否安装成功可以通过编译tensorRT中的samples来查看。

1
2
cd ~/TensorRT-3.0.4/samples
$ make

我在编译的时候出现如下错误:

1
sampleMNIST.cpp:9:30: fatal error: cuda_runtime_api.h: No such file or directory

出现这种错误的原因是这个makefile没有找到cuda路径,因此在make的时候我们需要手动加上去

1
2
$ make clean #记得要清理一下之后再进行make
$ make CUDA_INSTALL_DIR=/usr/local/cuda

生成的可执行文件在TensorRT-3.0.4/bin目录下,直接运行就可以:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
niceliu@ise:~/data/TensorRT-3.0.4/bin$ ./sample_mnist



---------------------------



@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@%.-@@@@@@@@@@@
@@@@@@@@@@@*- %@@@@@@@@@@
@@@@@@@@@@= .-. *@@@@@@@@@@
@@@@@@@@@= +@@@ *@@@@@@@@@@
@@@@@@@@* =@@@@ %@@@@@@@@@@
@@@@@@@@..@@@@% @@@@@@@@@@@
@@@@@@@# *@@@@- @@@@@@@@@@@
@@@@@@@: @@@@% @@@@@@@@@@@
@@@@@@@: @@@@- @@@@@@@@@@@
@@@@@@@: =+*= +: *@@@@@@@@@@
@@@@@@@*. +@: *@@@@@@@@@@
@@@@@@@@%#**#@@: *@@@@@@@@@@
@@@@@@@@@@@@@@@: -@@@@@@@@@@
@@@@@@@@@@@@@@@+ :@@@@@@@@@@
@@@@@@@@@@@@@@@* @@@@@@@@@@
@@@@@@@@@@@@@@@@ %@@@@@@@@@
@@@@@@@@@@@@@@@@ #@@@@@@@@@
@@@@@@@@@@@@@@@@: +@@@@@@@@@
@@@@@@@@@@@@@@@@- +@@@@@@@@@
@@@@@@@@@@@@@@@@*:%@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@


0:
1:
2:
3:
4:
5:
6:
7:
8:
9: **********