NVIDIA TensorRT DOCS
此 NVIDIA TensorRT 10.6.0 安装指南提供安装要求、TensorRT 包中包含的内容列表以及安装 TensorRT 的分步说明。
安装指南
摘要:
本 NVIDIA TensorRT 10.3.0 安装指南提供了安装要求、TensorRT 软件包中包含的内容列表以及安装 TensorRT 的分步说明。
确保您熟悉 NVIDIA TensorRT 发行说明,以了解最新的新功能和已知问题。
有关以前发布的 TensorRT 文档,请参阅 TensorRT 档案。
1. Overview
NVIDIA® TensorRT™ 的核心是一个 C++ 库,它有助于在 NVIDIA 图形处理单元 (GPU) 上进行高性能推理。TensorRT 采用由网络定义和一组训练参数组成的训练网络,并生成高度优化的运行时引擎来为该网络执行推理。
TensorRT 通过 C++ 和 Python 提供 API,帮助通过网络定义 API 表达深度学习模型,或通过 ONNX 解析器加载预定义模型,从而允许 TensorRT 在 NVIDIA GPU 上优化和运行它们。TensorRT 应用图形优化层融合以及其他优化
,同时还利用高度优化的内核集合
找到该模型的最快实现。TensorRT 还提供了一个运行时,您可以使用它在 NVIDIA Volta™ 一代及以后的所有 NVIDIA GPU 上执行此网络。
TensorRT 包括可选的高速混合精度功能
,包括 NVIDIA Volta、NVIDIA Turing™、NVIDIA Ampere 架构、NVIDIA Ada Lovelace 架构和 NVIDIA Hopper™ 架构。
2. Getting Started
确保您熟悉以下安装要求和注意事项。
- 如果您使用 TensorRT Python API 和 CUDA-Python 但尚未在系统上安装,请参阅 NVIDIA CUDA-Python 安装指南。
- 确保您熟悉 NVIDIA TensorRT 发行说明。
- 验证您是否已安装 NVIDIA CUDA™ 工具包。如果尚未安装 CUDA,请查看 NVIDIA CUDA 安装指南以获取有关安装
CUDA 工具包的说明。支持以下版本:
12.5 update 1
12.4 update 1
12.3 update 2
12.2 update 2
12.1 update 1
12.0 update 1
11.8
11.7 update 1
11.6 update 2
11.5 update 2
11.4 update 4
11.3 update 1
11.2 update 2
11.1 update 1
11.0 update 3 - cuDNN 现在是 TensorRT 的可选依赖项,仅用于加速多个层。如果您需要 cuDNN,请验证是否已安装它。查看 NVIDIA
cuDNN 安装指南了解更多信息。TensorRT 10.3.0 支持 cuDNN 8.9.7。精益或调度运行时不使用 cuDNN。 - cuBLAS 现在是 TensorRT 的可选依赖项,仅用于加速多个层。如果您需要 cuBLAS,请验证是否已安装它。查看 NVIDIA
cuBLAS 网站了解更多信息。 - 一些 Python 示例需要 TensorFlow 2.13.1,例如 efficientdet 和 efficientnet。
- PyTorch 示例已使用 PyTorch >= 2.0 进行了测试,但可能适用于旧版本。
- ONNX-TensorRT 解析器已使用 ONNX1.16.0 进行了测试并支持 opset 20。
- 以下安装说明假设您需要 C++ 和 Python API。但是,在某些环境和用例中,您可能不想安装 Python
功能。如果是这样,请不要安装标有 Python 的 Debian 或 RPM 包或整个文件。C++ API 功能均不依赖于 Python。 - 我们提供三种不同模式安装 TensorRT 的可能性:
- TensorRT 的完整安装,包括 TensorRT 计划文件构建器功能。此模式与 TensorRT 8.6.0 之前提供的运行时相同。
- 精益运行时安装比完整安装小得多。它允许您加载和运行使用版本兼容的构建器标志构建的引擎。但是,此安装不提供构建 TensorRT
计划文件的功能。
调度运行时安装。此安装允许以最小的内存消耗进行部署。它允许您加载和运行使用与构建器标志兼容的版本构建的引擎,并包含精益运行时。但是,它不提供构建TensorRT 计划文件的功能。
3. Installing TensorRT
安装 TensorRT 时,您可以选择以下安装选项:Debian 或 RPM 软件包、Python wheel 文件、tar 文件或 zip 文件。
Debian 和 RPM 安装会自动安装所有依赖项;但是:
- 需要 sudo 或 root 权限才能安装
- 无法灵活选择 TensorRT 的安装位置
- 需要使用 Debian 或 RPM 软件包安装 CUDA Toolkit。
- 不允许同时安装多个 TensorRT 次要版本
tar 文件提供了更大的灵活性,例如可以同时安装多个版本的 TensorRT。但是,您必须自行安装必要的依赖项并管理LD_LIBRARY_PATH
。有关更多信息,请参阅 Tar 文件安装。【3.2.3】
TensorRT 版本:TensorRT 是由单独版本化的组件组成的产品。产品版本传达了有关新功能重要性的重要信息,而库版本则传达了有关 API 兼容性或不兼容性的信息。
3.1. Python Package Index Installation
本节包含从 Python 软件包索引安装 TensorRT 的说明。
从 Python 软件包索引安装 TensorRT 时,您不需要从 .tar、.deb、.rpm 或 .zip 软件包安装 TensorRT。所有必需的库都包含在 Python 软件包中。但是,访问 TensorRT C++ API 或编译用 C++ 编写的插件可能需要的头文件不包括在内
。此外,如果您已经安装了 TensorRT C++ 库,使用 Python 软件包索引版本将安装此库的冗余副本,这可能不是理想的选择。有关手动安装不捆绑 C++ 库的 TensorRT 轮子的信息,请参阅 Tar 文件安装。如果您只需要 Python 支持,则可以在本节之后停止
。
tensorrt Python 轮子文件目前仅支持 Python 版本 3.8 至 3.12
,不适用于其他版本。目前仅支持 Linux 和 Windows 操作系统以及 x86_64 CPU 架构
。这些 Python wheel 文件预计可以在 RHEL 8 或更新版本、Ubuntu 20.04 或更新版本以及 Windows 10 或更新版本上运行。
注意:如果您没有 root 访问权限,您正在 Python 虚拟环境之外运行,或者由于任何其他原因您希望使用用户安装,则将 --user 附加
到提供的任何 pip 命令之后。
1.在继续之前,请确保 pip Python 模块是最新的,并且 wheel Python 模块已安装,否则您可能会在 TensorRT Python 安装过程中遇到问题。
python3 -m pip install --upgrade pip
python3 -m pip install wheel
- 安装 TensorRT Python wheel。
注意:如果升级到较新版本的 TensorRT,您可能需要运行命令pip cache remove "tensorrt*"
以确保重建 tensorrt 元包并安装最新的依赖包。
python3 -m pip install --upgrade tensorrt
上述 pip 命令将从 PyPI 中提取 Python wheel 格式的所有必需 CUDA 库
,因为它们是 TensorRT Python wheel 的依赖项。此外,如果您安装了以前的版本,它会将 tensorrt 升级到最新版本。
TensorRT Python 包索引安装分为多个模块:
- TensorRT 库 (tensorrt_libs)
- 与正在使用的 Python 版本匹配的 Python 绑定 (tensorrt_bindings)
- 前端源包,从 pypi.nvidia.com (tensorrt) 中提取正确版本的依赖 TensorRT 模块
- 如果您需要不同的 CUDA 主要版本,您可以
将 -cu11 或 -cu12 附加到任何 Python 模块
。如果未指定,TensorRT
Python 元包默认为 CUDA 12.x 变体,即 TensorRT 支持的最新 CUDA 版本。
可选地,安装 TensorRT lean 或 dispatch 运行时轮子,它们同样被拆分成多个 Python 模块。如果您仅使用 TensorRT 运行预构建版本兼容引擎,则可以安装这些轮子而无需常规 TensorRT 轮子。
python3 -m pip install --upgrade tensorrt_lean
python3 -m pip install --upgrade tensorrt_dispatch
3.要验证您的安装是否正常工作,请使用以下 Python 命令:
- 导入 tensorrt Python 模块。
- 确认已安装正确版本的 TensorRT。
- 创建 Builder 对象以验证您的 CUDA 安装是否正常工作。
>>> import tensorrt
>>> print(tensorrt.__version__)
>>> assert tensorrt.Builder(tensorrt.Logger())
使用类似的程序来验证精益和调度模块是否按预期工作:
>>> import tensorrt_lean as trt
>>> print(trt.__version__)
>>> assert trt.Runtime(trt.Logger())
python3
>>> import tensorrt_dispatch as trt
>>> print(trt.__version__)
>>> assert trt.Runtime(trt.Logger())
假设最终的 Python 命令失败,并显示类似于以下错误消息的错误消息。在这种情况下,您可能未安装 NVIDIA 驱动程序,或者 NVIDIA 驱动程序可能无法正常工作。如果您在容器内运行,请尝试从 nvidia/cuda:x.y-base-<os>
容器之一启动。
[TensorRT] ERROR: CUDA initialization failure with error 100. Please check your CUDA installation: ...
如果上述 Python 命令有效,您现在应该能够运行任何 TensorRT Python 示例以进一步确认您的 TensorRT 安装是否正常运行。有关 TensorRT 示例的更多信息,请参阅 NVIDIA TensorRT 示例支持指南。
3.2. Downloading TensorRT
3.2.1. Debian Installation
3.2.1.1. Using The NVIDIA CUDA Network Repo For Debian Installation
3.2.2. RPM Installation
3.2.2.1. Using The NVIDIA CUDA Network Repo For RPM Installation
3.2.3. Tar File Installation
本节包含从 tar 文件安装 TensorRT 的说明。
确保已安装以下依赖项。
-
CUDA
12.5 update 1 12.4 update 1 12.3 update 2 12.2 update 2 12.1 update 1 12.0 update 1 11.8 11.7 update 1 11.6 update 2 11.5 update 2 11.4 update 4 11.3 update 1 11.2 update 2 11.1 update 1 11.0 update 3
-
cuDNN 8.9.7 (Optional)
-
Python 3 (Optional)
1 下载与您使用的 CPU 架构和 CUDA 版本相匹配的 TensorRT tar 文件。
2 选择要安装 TensorRT 的位置。此 tar 文件会将所有内容安装到名为 TensorRT-10.x.x.x 的子目录中。
3 解压 tar 文件。
version="10.x.x.x"
arch=$(uname -m)
cuda="cuda-x.x"
tar -xzvf TensorRT-${version}.Linux.${arch}-gnu.${cuda}.tar.gz
Where:
9.x.x.x is your TensorRT version
cuda-x.x is CUDA version 11.8 or 12.5
This directory will have sub-directories like lib, includedata, etc.
ls TensorRT-${version}
bin data doc include lib python samples targets
4 Add the absolute path to the TensorRT lib directory to the environment variable LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=<TensorRT-${version}/lib>:$LD_LIBRARY_PATH
- Install the Python TensorRT wheel file (replace cp3x with the desired Python version, for example, cp310 for Python 3.10)
cd TensorRT-${version}/python
python3 -m pip install tensorrt-*-cp3x-none-linux_x86_64.whl
Optionally, install the TensorRT lean and dispatch runtime wheel files:
python3 -m pip install tensorrt_lean-*-cp3x-none-linux_x86_64.whl
python3 -m pip install tensorrt_dispatch-*-cp3x-none-linux_x86_64.whl
- Verify the installation
- Ensure that the installed files are located in the correct directories. For example, run the tree -d command to check whether all supported installed files are in place in the lib, include, data and so on directories.
- Build and run one of the shipped samples, sampleOnnxMNIST, in the installed directory. You should be able to compile and execute the
sample without additional settings. For more information, refer to sampleOnnxMNIST. - The Python samples are in the samples/python directory.