安装 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 示例支持 指南

相关推荐
Kai HVZ7 分钟前
python爬虫----爬取视频实战
爬虫·python·音视频
古希腊掌管学习的神10 分钟前
[LeetCode-Python版]相向双指针——611. 有效三角形的个数
开发语言·python·leetcode
m0_7482448312 分钟前
StarRocks 排查单副本表
大数据·数据库·python
B站计算机毕业设计超人19 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
路人甲ing..22 分钟前
jupyter切换内核方法配置问题总结
chrome·python·jupyter
游客52033 分钟前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
每天都要学信号1 小时前
Python(第一天)
开发语言·python
凡人的AI工具箱1 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
咸鱼桨1 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派
北京_宏哥2 小时前
python接口自动化(四十)- logger 日志 - 下(超详解)
python·前端框架·自动化运维