参考
安装教程请直接转到3.1 tar安装
0. 概要
NVIDIA TensorRT 的核心是一个C++库,有助于对 NVIDIA 图形处理单元 (GPU) 进行高性能推理。TensorRT 采用经过训练的网络,该网络由网络定义和一组经过训练的参数组成,并生成高度优化的运行时引擎,为该网络执行推理。
TensorRT通过C++和 Python 提供 API,这些模型通过网络定义 API 帮助表达深度学习模型,或通过解析器加载预定义的模型,使TensorRT能够在 NVIDIA GPU 上优化和运行它们。TensorRT应用图形优化、图层融合等优化,同时利用各种高度优化内核集合,找到该模型的最快实现。TensorRT还提供运行时。
1. 入门
确保您熟悉以下安装要求和注意事项。
- TensorRT的 Windows zip 包不提供 Python 支持。将来可能会支持 Python。
- 如果您正在使用TensorRT Python API,但是PyCUDA 尚未安装在您的系统上,请参阅安装 PyCUDA。如果您在 PyCUDA 使用方面遇到任何问题,您可能需要自己重新编译它。有关详细信息,请参阅在Linux 上安装 PyCUDA。
- 确保您熟悉发行说明。当前版本的发行说明可以在TensorRT 发行说明上找到。
- 验证您是否安装了 CUDA 工具包;支持版本 9.0 、10.0和10.2。
- TensorFlow到TensorRT模型导出需要TensorFlow 1.14.0。
- PyTorch 示例已使用PyTorch 1.3.0进行了测试,但可能与旧版本一起使用。
- 如果目标系统同时安装了TensorRT和训练框架,最简单的策略是将同一版本的cuDNN用于训练框架,就像TensorRT附带的一样。在某些情况下,需要修改训练框架。
- 从TensorRT 5.0开始,libnvcaffe_parser.so库已经被libnvparsers.so包含。指向libnvcaffe_parser.so的符号链接也重新指向libnvparsers.so。但是静态库libnvcaffe_parser.a还是指向libnvparsers_static.a
- 下面的安装说明假设您想要安装完整的TensorRT;C++和TensorRT Python API。在某些环境和用例中,您可能不希望安装 Python 功能。在这种情况下,不要安装 Debian、标记为 Python 的RPM 包或whl文件。C++ API 功能都不依赖于 Python。如果要从TensorFlow模型导出 UFF 文件,则需要安装 UFF的whl 文件。
2. 下载
注册NVIDIA账户,点击Download Now,选择安装版本,同意license terms,点击想要安装的包,开始下载。
3.安装
Debian 和 RPM 安装会自动安装依赖项,但是
- 需要sudo权限来安装
- 在哪个位置安装没有灵活性
- 要求CUDA工具包或者cuDNN也已使用 Debian 或 RPM 软件包安装。
- 不允许同时安装多个版本的 TensorRT
tar 文件提供了更大的灵活性,例如同时安装多个版本的 TensorRT。但是,您需要确保已安装必要的依赖项,并且必须自行管理LD_LIBRARY_PATH。有关详细信息,请参阅Tar 文件安装。
zip 文件是当前 Windows 的唯一选项。它不支持除 Windows 以外的任何其他平台。确保已安装必要的依赖项。有关详细信息,请参阅Zip 文件安装。
3.1 tar安装
-
安装依赖项
- CUDA 9.0/10.0/10.2
- cuDNN 7.6.5
- python 2/3(可选)
-
下载tar文件,选择对应的Linux版本
-
选择tar解压路径即安装位置,tar文件会将所有内容都安装在一个名为TensorRT-版本号的文件中
version=”7.x.x.x” #tensorRT版本号
os=”” #Ubuntu-16.04/18.04 CentOS-7.6
arch=$(uname -m)
cuda=”cuda-x.x” #9.0/10.0/10.2
cudnn=”cudnn7.x” #7.6
tar xzvf TensorRT-${version}.${os}.${arch}-gnu.${cuda}.${cudnn}.tar.gz
解压文件包含了lib,include,data等
ls TensorRT-${version}
bin data doc graphsurgeon include lib python samples targets TensorRT-Release-Notes.pdf uff
- 将TensorRT lib库绝对路径添加到环境变量LD_LIBRARY_PATH
export PATH=/usr/local/TensorRT-7.0.0.11/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/TensorRT-7.0.0.11/lib:$LD_LIBRARY_PATH
- 安装python tensorrt wheel文件
cd TensorRT-${version}/python
python 2.7
sudo pip2 install tensorrt-*-cp27-none-linux_x86_64.whl
python3.X
sudo pip3 install tensorrt-*-cp3x-none-linux_x86_64.whl
- 安装python UFF whell文件(只有使用Tensorflow时需要)
cd TensorRT-${version}/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
检查安装
which convert-to-uff
- 安装python graphsurgeon wheel
cd TensorRT-${version}/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
-
验证安装
- 确保安装文件位于正确的文件夹。检查是否所有的支持安装文件都放在lib, include, data等文件夹
tree -d
- build & run 某一个sample,参考sampleMNIST
- Python的samples 位于 samples/python.