看到2019年9月18号,TensorRT6.0.1发布了,也是偶然看到了,发现这个版本已经从TensorRT5--->TensorRT6,那肯定是有重大性能上的提升,安装的方法以及出现的问题在这列举一下,以防止后人继续踩坑。
首先要下载TensorRT6.0.1版本,直接去官网下载即可,需要有一个NVIDIA 的官方账号,登录之后填写一个相关内容就可以进行下载了。
1.下载地址:https://developer.nvidia.com/tensorrt
2.打开之后,可以看到如下界面:
找到Tar File之后,找到和自己系统和CUDA版本对应的链接,点击就可以save了。
3.解压下载的tar文件
$ tar xzvf TensorRT-6.x.x.x.<os>.<arch>-gnu.cuda-x.x.cudnn7.x.tar.gz
4.导入相关路径
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<eg:TensorRT-6.x.x.x/lib>
5.安装TensorRT
$ cd TensorRT-6.x.x.x/python
对于 Python 2.7:
$ sudo pip2 install tensorrt-6.x.x.x-cp27-none-linux_x86_64.whl
对于 Python 3.x:
$ sudo pip3 install tensorrt-6.x.x.x-cp3x-none-linux_x86_64.whl
6.安装UFF(可选,只有使用Tensorflow的时候需要安装)
$ cd TensorRT-6.x.x.x/uff
对于 Python 2.7:
$ sudo pip2 install uff-0.6.5-py2.py3-none-any.whl
对于 Python 3.x:
$ sudo pip3 install uff-0.6.5-py2.py3-none-any.whl
7.安装graphsurgeon
$ cd TensorRT-6.x.x.x/graphsurgeon
对于 Python 2.7:
$ sudo pip2 install graphsurgeon-0.4.1-py2.py3-none-any.whl
对于 Python 3.x:
$ sudo pip3 install graphsurgeon-0.4.1-py2.py3-none-any.whl
8.验证安装是否成功
import tensorrt
import uff
没有出现报错就是沒问题。
出现的一些问题,在我这台电脑上出现的问题,不一定会在其他电脑上出现:
在命令行中,我使用python可以直接导入不出现问题,但是在Pycharm中,无法直接运行,可能是和环境中配置出现的问题相关,所以将TensorRT中的链接文件.so文件进行复制到/usr/lib/文件夹中,Pycharm就可以读取相关的链接文件进行链接。
1) [endif]ImportError: libnvinfer.so.6: cannot open shared object file: Nosuch file or directory
2)ImportError: libnvonnxparser.so.6: cannot open shared object file:No such file or directory
3)ImportError: libnvonnxparser_runtime.so.6: cannot open shared objectfile: No such file or directory
4)ImportError: libnvparsers.so.6: cannot open shared object file: Nosuch file or directory
5)ImportError: libnvinfer_plugin.so.6: cannot open shared object file:No such file or directory
6)ImportError: libnvrtc.so.9.0: cannot open shared object file:No such file or directory
解决办法:
1) sudo cp TensorRT-6.01/targets/x86_64-linux-gnu/lib/libnvinfer.so.6 /usr/lib/
2)sudo cp TensorRT-6.01/targets/x86_64-linux-gnu/lib/libnvonnxparser.so.6 /usr/lib/
3) sudo cp TensorRT-6.01/targets/x86_64-linux-gnu/lib/libnvonnxparser_runtime.so.6 /usr/lib/
4) sudo cp TensorRT-6.01/targets/x86_64-linux-gnu/lib/libnvparsers.so.6 /usr/lib/
5) sudo cp TensorRT-6.01/targets/x86_64-linux-gnu/lib/ libnvinfer_plugin.so.6 /usr/lib/
6)sudo cp /usr/local/cuda-9.0/lib64/libvrtc.so.9.0 /usr/lib/