安装流程及问题
参考官网链接:https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html
这里以ubuntu系统为例,首先上TensorRT官网把对应版本的安装包下载下来,可能需要登录,版本选择DEB,找到自己对应的Ubuntu版本跟cuda版本。
ubuntu版本查看:
cat /etc/issue
cuda版本查看:
cat /usr/local/cuda/version.txt
也可以使用nvidia-smi命令查看,右上角可以看到版本号
下载完安装包之后,按照官网的流程来安装,下面命令的文件名就是下载的安装包的文件名。
$ sudo dpkg -i
nv-tensorrt-repo-ubuntu1x04-cudax.x-trt5.1.x.x-ga-yyyymmdd_1-1_amd64.deb
$ sudo apt-key add /var/nv-tensorrt-repo-cudax.x-trt5.1.x.x-ga-yyyymmdd/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install tensorrt
可能遇到的问题
在最后一条命令安装tensorrt的时候,可能遇到如下问题:
The following packages have unmet dependencies:
tensorrt : Depends: libnvinfer5 (= 5.1.5-1+cuda10.0) but 5.1.5-1+cuda10.1 is to be installed
Depends: libnvinfer-dev (= 5.1.5-1+cuda10.0) but 5.1.5-1+cuda10.1 is to be installed
E: Unable to correct problems, you have held broken packages.
这个可能是官网有更高的版本了,非要让你装更高的,但我们又不想升级cuda,只想装对应的版本。按下面命令,安装上面对应版本的依赖库:
$ sudo apt-get install libnvinfer5=5.1.5-1+cuda10.0
$ sudo apt-get install libnvinfer-dev=5.1.5-1+cuda10.0
$ sudo apt-get install tensorrt
把上面错误中对应的版本号复制过来安装就好,之后再安装tensorrt即可。
之后安装python接口,如果是python2.7:
$ sudo apt-get install python-libnvinfer-dev
如果是python3.x:
$ sudo apt-get install python3-libnvinfer-dev
如果打算在TensorFlow中用TensorRT:
$ sudo apt-get install uff-converter-tf
都是官网的命令,最后验证一下:
$ dpkg -l | grep TensorRT
会出现一些信息,我直接copy官网的了:
ii graphsurgeon-tf 5.1.5-1+cuda10.1 amd64 GraphSurgeon for TensorRT package
ii libnvinfer-dev 5.1.5-1+cuda10.1 amd64 TensorRT development libraries and headers
ii libnvinfer-samples 5.1.5-1+cuda10.1 amd64 TensorRT samples and documentation
ii libnvinfer5 5.1.5-1+cuda10.1 amd64 TensorRT runtime libraries
ii python-libnvinfer 5.1.5-1+cuda10.1 amd64 Python bindings for TensorRT
ii python-libnvinfer-dev 5.1.5-1+cuda10.1 amd64 Python development package for TensorRT
ii python3-libnvinfer 5.1.5-1+cuda10.1 amd64 Python 3 bindings for TensorRT
ii python3-libnvinfer-dev 5.1.5-1+cuda10.1 amd64 Python 3 development package for TensorRT
ii tensorrt 5.1.5.x-1+cuda10.1 amd64 Meta package of TensorRT
ii uff-converter-tf 5.1.5-1+cuda10.1 amd64 UFF converter for TensorRT package
可能遇到的问题
在python中import tensorrt的时候,可能会找不到模块,No module named tensorrt。会出现这种情况一般是自己使用自己的python环境,或者使用anaconda。因为上面安装python模块时使用apt-get安装,会安装到系统指定的python中。我们需要把tensorrt安装到自己的python环境中。
首先在上面的官网把Tar文件下载下来,然后解压并安装python包:
$ tar -xzvf TensorRT-5.1.5.0.Ubuntu-16.04.5.x86_64-gnu.cuda-10.0.cudnn7.5.tar.gz
$ cd TensorRT-5.1.5.0/python
$ pip install tensorrt-5.1.5.0-cp27-none-linux_x86_64.whl
用自己环境对应的pip安装对应版本的python包,之后就可以import了。