安装 TensorRT

[安装 TensorRT](#安装 TensorRT)

TensorRT 有多种安装方法。本章介绍 最常见的选项是:

  • 容器
  • 一个 Debian 文件,或者
  • 独立的 wheel 文件。pip

有关安装 TensorRT 的其他方法,请参阅 NVIDIA TensorRT 安装指南

对于已经熟悉 TensorRT 并希望获得 应用程序快速运行,谁正在使用 NVIDIA CUDA® 容器 包含 cuDNN 的情况下,或者想要设置自动化,请按照网络存储库安装 说明(请参阅使用 NVIDIA 机器学习网络存储库 Debian 安装)。

[2.1. 容器安装](#2.1. 容器安装)

本部分包含对自定义虚拟机映像 (VMI) 的介绍 NVIDIA 定期发布和维护。英伟达 NGC™ 经过认证的公有云平台用户可以访问有关如何 浏览NGC 网站并确定一个可用的 NGC 容器和标签以在其上运行 VMI。

在每个主要的云提供商上,NVIDIA 都会发布定制的 GPU 优化虚拟 定期更新操作系统和驱动程序的计算机映像 (VMI)。这些 VMI 已优化 在最新一代 NVIDIA GPU 上的性能。使用这些 VMI 部署 NGC 云托管虚拟机实例上的托管容器、模型和资源 H100、A100、V100 或 T4 GPU 确保深度学习、机器的最佳性能 学习和 HPC 工作负载。

要在公有云上部署 TensorRT 容器,请按照与 NGC 认证的公有云平台关联的步骤操作。

[2.2. Debian 安装](#2.2. Debian 安装)

本部分包含开发人员安装说明。这 安装方法适用于新用户或想要完整开发人员的用户 安装,包括 C++ 和 Python 的示例和文档 蜜蜂属。

对于已经熟悉 TensorRT 并希望获得 应用程序运行快速,使用包含 cuDNN 的 NVIDIA CUDA 容器, 或者想要设置自动化,请按照网络存储库安装说明进行操作 (请参阅在 Debian 上使用 NVIDIA CUDA 网络存储库 安装)。
注意:

  • 以下命令是 的示例,但是, 命令与 相同。amd64arm64

  • 使用此方法安装 Python 包时,必须安装 依赖项手动使用。pip
    确保您已安装以下依赖项。

  • CUDA 11.0 更新 1、11.1 更新 1、11.2 更新 2、11.3 更新 1、11.4 更新 4、11.5 更新 2、11.6 更新 2、11.7 更新 1、11.8、12.0 更新 1 或 12.1 更新 1

  • cuDNN 8.9.0(精益不需要 或分派运行时安装。

  1. 根据 CUDA 安装说明安装 CUDA

  2. 如果适用,请根据 cuDNN 安装说明安装 cuDNN

  3. 下载 TensorRT 本地存储库文件 与您正在使用的 Ubuntu 版本和 CPU 体系结构相匹配。

  4. 从 Debian 本地存储库软件包安装 TensorRT。将 ubuntuxx04、8.x.x 和 cuda-x.x 替换为您的特定操作系统版本、TensorRT 版本、 和 CUDA 版本。

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">os="ubuntuxx04"
    tag="8.x.x-cuda-x.x"
    sudo dpkg -i nv-tensorrt-local-repo-${os}-${tag}_1.0-1_amd64.deb
    sudo cp /var/nv-tensorrt-local-repo-${os}-${tag}/*-keyring.gpg /usr/share/keyrings/
    sudo apt-get update
    </span></span></span></span>

    对于完整运行时

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">sudo apt-get install tensorrt</span></span></span></span>

    仅适用于精益运行时,而不是tensorrt

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">sudo apt-get install libnvinfer-lean8
    sudo apt-get install libnvinfer-vc-plugin8</span></span></span></span>

    对于精益运行时 Python 包

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">sudo apt-get install python3-libnvinfer-lean</span></span></span></span>

    对于调度运行时 Python 包

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">sudo apt-get install python3-libnvinfer-dispatch</span></span></span></span>

    对于所有 TensorRT Python 软件包

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3 -m pip install numpy
    sudo apt-get install python3-libnvinfer-dev
    </span></span></span></span>

    将安装以下附加软件包:

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3-libnvinfer
    python3-libnvinfer-lean
    python3-libnvinfer-dispatch
    </span></span></span></span>

    如果要安装用于精益或调度的 Python 包 仅限运行时,单独指定这些内容,而不是 安装软件包。dev

    如果要将 TensorRT 与 UFF 转换器一起使用来转换模型 与TensorFlow相比

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3 -m pip install protobuf
    sudo apt-get install uff-converter-tf</span></span></span></span>

    该套餐也将是 使用此命令安装。graphsurgeon-tf

    如果要运行需要或使用 Python 模块的示例 您自己的项目onnx-graphsurgeon

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3 -m pip install numpy onnx
    sudo apt-get install onnx-graphsurgeon</span></span></span></span>
  5. 验证安装。

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">dpkg-query -W tensorrt</span></span></span></span>

    您应该看到类似于 以后:

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">tensorrt	8.6.1.x-1+cuda12.0</span></span></span></span>

[2.3. Python 软件包索引安装](#2.3. Python 软件包索引安装)

本节包含从 Python 安装 TensorRT 的说明 包索引。

从 Python 包索引安装 TensorRT 时,不需要 从 、 或 包安装 TensorRT。所有必需的库都包含在 Python 中 包。但是,头文件,如果要访问 不包括TensorRT C++ API或编译用C++编写的插件。 此外,如果您已经安装了 TensorRT C++ 库,请使用 Python 包索引版本将安装此库的冗余副本,该库 可能不可取。有关如何手动操作的信息,请参阅 tar 文件安装 安装不捆绑 C++ 库的 TensorRT 轮。您可以在以下时间后停止 如果您只需要 Python 支持,则此部分。.tar.deb.rpm
Python wheel 文件仅支持 Python 版本 3.6 到 3.11 目前不适用于其他 Python 版本。只有 Linux 目前支持操作系统和x86_64 CPU 架构。这些 Python wheel 文件应适用于 CentOS 7 或更高版本以及 Ubuntu 18.04 或更高版本。 虽然 tar 文件安装支持多个 CUDA 版本,但 Python 包 在此版本中,索引安装不支持 CUDA 12.x,仅支持 CUDA 12.x。tensorrt
**注意:**如果 您没有 root 访问权限,您正在 Python 虚拟之外运行 环境,或者出于任何其他原因,您希望用户安装,然后 追加到任何命令 提供。--userpip

  1. 安装 TensorRT Python 轮。

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3 -m pip install --upgrade tensorrt</span></span></span></span>

    上面的命令将拉入所有必需的 CUDA 来自 PyPI 的 Python wheel 格式的库和 cuDNN,因为它们是 TensorRT Python wheel 的依赖关系。此外,如果您有以前的 已安装的版本。piptensorrt
    TensorRT Python Package Index 安装拆分为多个 模块:

    • TensorRT 库 (tensorrt_libs)
    • 与正在使用的 Python 版本匹配的 Python 绑定 (tensorrt_bindings)
    • 前端源码包,它拉入正确版本的 依赖于 pypi.nvidia.com 的 TensorRT 模块 (tensorrt)
      (可选)安装 TensorRT 精益或调度运行时轮,它们是 同样拆分为多个 Python 模块。如果您只使用 TensorRT 要运行预构建版本兼容的引擎,您可以安装这些轮子 无需安装常规 TensorRT 轮子。
    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3 -m pip install --upgrade tensorrt_lean
    python3 -m pip install --upgrade tensorrt_dispatch
    </span></span></span></span>
  2. 若要验证安装是否正常工作,请使用以下 Python 命令 自:

    • 导入 Python 模块。tensorrt
    • 确认 TensorRT 的正确版本已 安装。
    • 创建一个对象来验证您的 CUDA 安装正在工作。Builder
    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3
    >>> import tensorrt
    >>> print(tensorrt.__version__)
    >>> assert tensorrt.Builder(tensorrt.Logger())
    </span></span></span></span>

    使用类似的过程来验证精益和调度模块是否作为 预期:

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">python3
    >>> import tensorrt_lean as trt
    >>> print(trt.__version__)
    >>> assert trt.Builder(trt.Logger())
    
    python3
    >>> import tensorrt_dispatch as trt
    >>> print(trt.__version__)
    >>> assert trt.Builder(trt.Logger())
    </span></span></span></span>

    如果最终 Python 命令失败并显示类似于错误的错误消息 消息,那么您可能没有安装 NVIDIA 驱动程序或 NVIDIA驱动程序可能无法正常工作。如果你在 容器,然后尝试从其中一个容器开始。nvidia/cuda:x.y-base-<os>

    pre 复制代码
    <span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eaefe0"><span style="color:#224400">[TensorRT] ERROR: CUDA initialization failure with error 100. Please check your CUDA installation: ...</span></span></span></span>

    如果前面的 Python 命令有效,那么您现在应该能够运行 任何 TensorRT Python 示例,以进一步确认您的 TensorRT 安装正在工作。有关 TensorRT 示例的更多信息,请参阅 转到 NVIDIA TensorRT 示例支持 指南

相关推荐
PythonFun2 小时前
Python批量下载PPT模块并实现自动解压
开发语言·python·powerpoint
炼丹师小米2 小时前
Ubuntu24.04.1系统下VideoMamba环境配置
python·环境配置·videomamba
GFCGUO3 小时前
ubuntu18.04运行OpenPCDet出现的问题
linux·python·学习·ubuntu·conda·pip
985小水博一枚呀4 小时前
【深度学习基础模型】神经图灵机(Neural Turing Machines, NTM)详细理解并附实现代码。
人工智能·python·rnn·深度学习·lstm·ntm
萧鼎5 小时前
Python调试技巧:高效定位与修复问题
服务器·开发语言·python
IFTICing6 小时前
【文献阅读】Attention Bottlenecks for Multimodal Fusion
人工智能·pytorch·python·神经网络·学习·模态融合
大神薯条老师6 小时前
Python从入门到高手4.3节-掌握跳转控制语句
后端·爬虫·python·深度学习·机器学习·数据分析
程序员爱德华6 小时前
Python环境安装教程
python
huanxiangcoco6 小时前
152. 乘积最大子数组
python·leetcode
萧鼎6 小时前
Python常见问题解答:从基础到进阶
开发语言·python·ajax