【1.2 Getting Started--->Installation Guide】

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
  1. 安装 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
  1. 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
  1. 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.
3.2.4. Zip File Installation

3.3. Additional Installation Methods

3.3.1. Cross-Compile Installation

4. Upgrading TensorRT

4.1. Linux And Windows Users

4.1.1. Upgrading From TensorRT 10.x.x To TensorRT 10.3.x

5. Uninstalling TensorRT

6. Troubleshooting

A. Appendix

A.1. ACKNOWLEDGEMENTS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/923696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu设置程序开机自启动

文章目录 1、概述2、图形界面设置3、设置为Systemd服务 1、概述 测试环境&#xff1a;ubuntu22.04 带图形界面 实现方式1&#xff1a;通过图形界面的【启动应用程序】设置开机自启动&#xff1b; 实现方式2&#xff1a;通过配置为服务实现开机自启动。 2、图形界面设置 优点&am…

IDEA2024创建一个spingboot项目

以下是创建一个基本的 Spring Boot 项目的步骤和示例&#xff1a; 初始化一个springboot工程其实有许多方法&#xff0c;笔者这里挑了一个最快捷的方式搭建一个项目。我们直接通过官方平台&#xff08;start.spring.io&#xff09;进行配置&#xff0c;然后下载压缩包就可以获取…

商用密码应用安全性评估,密评整体方案,密评管理测评要求和指南,运维文档,软件项目安全设计相关文档合集(Word原件)

一、 密码应用安全性评估方案 &#xff08;一&#xff09; 密码应用测评工作思路 1.1.1. 测评准备活动的主要任务 1.1.2. 测评准备活动的输出文档 1.2. 方案编制活动 1.2.1. 方案编制活动的主要任务 1.2.2. 方案编制活动的输出文档 1.3. 现场预评估活动 1.3.1. 现场测评…

音视频技术扫盲之预测编码的基本原理探究

预测编码是一种数据压缩技术&#xff0c;广泛应用于图像、视频和音频编码等领域。其基本原理是利用数据的相关性&#xff0c;通过对当前数据的预测和实际值与预测值之间的差值进行编码&#xff0c;从而实现数据压缩的目的。 一、预测编码的基本概念 预测编码主要包括预测器和…

标定系列——关于cv::calibrateHandEye的介绍

关于cv::calibrateHandEye的介绍 介绍函数原型所在头文件原理说明 介绍 函数原型 void cv::calibrateHandEye ( InputArrayOfArrays R_gripper2base, InputArrayOfArrays t_gripper2base, InputArrayOfArrays R_target2cam, InputArrayOfArrays t_target2cam, OutputArra…

uname -m(machine) 命令用于显示当前系统的机器硬件架构(Unix Name)

文章目录 关于 arm64 架构检查是否安装了 Rosetta 2其他相关信息解释&#xff1a;命令功能&#xff1a;示例&#xff1a; dgqdgqdeMac-mini / % uname -m arm64您运行的 uname -m 命令显示您的系统架构是 arm64。这意味着您的 Mac Mini 使用的是 Apple 的 M1 或更新的芯片&…

代码随想录算法训练营day46|动态规划09

买卖股票的最佳时机四 之前是最多只能完成两笔交易&#xff0c;现在是至多可以买卖k次&#xff0c;那么状态数需要定为2*k1种&#xff0c;此时&#xff0c;就要分析多种情况的递推式 找到奇偶数交替的规则即可 class Solution { public:int maxProfit(int k, vector<int&g…

qt QDateTime详解

1. 概述 QDateTime 是 Qt 框架中用于处理日期和时间的类。它将 QDate 和 QTime 组合在一起&#xff0c;提供了日期时间的统一处理方案。QDateTime 可以精确到毫秒&#xff0c;并支持时区处理。 2. 重要方法 构造函数: QDateTime() 构造无效的日期时间 QDateTime(const QDa…

[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法

本文由Markdown语法编辑器编辑完成。 1. 需求背景: 最近在启动一个服务时&#xff0c;突然发现它的一个接口&#xff0c;被另一个服务ip频繁的请求。 按理说&#xff0c;之前设置的是&#xff0c;每隔1分钟请求一次接口。但从日志来看&#xff0c;则是1秒钟请求一次&#xff…

imx-6ULL uboot 移植

写在前面&#xff1a; 本文章旨在总结备份、方便以后查询&#xff0c;由于是个人总结&#xff0c;如有不对&#xff0c;欢迎指正&#xff1b;另外&#xff0c;内容大部分来自网络、书籍、和各类手册&#xff0c;如若侵权请告知&#xff0c;马上删帖致歉。 目录 环境搭建交叉编…

Zookeeper选举算法与提案处理概览

共识算法(Consensus Algorithm) 共识算法即在分布式系统中节点达成共识的算法&#xff0c;提高系统在分布式环境下的容错性。 依据系统对故障组件的容错能力可分为&#xff1a; 崩溃容错协议(Crash Fault Tolerant, CFT) : 无恶意行为&#xff0c;如进程崩溃&#xff0c;只要…

零地址挂页

零地址 如果我们有比较好的C编程基础&#xff0c;我们就会知道&#xff0c;我们在代码中定义了一个零地址或者空指针&#xff0c;那么它实际上会指向虚拟内存的零地址&#xff0c;多数操作系统&#xff0c;包括Win&#xff0c;在进程创建的时候&#xff0c;都会空出前64k的空间…

leetcode:222完全二叉树的节点个数

给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置。若最…

【小白学机器学习36】关于独立概率,联合概率,交叉概率,交叉概率和,总概率等 概念辨析的例子

目录 1 先说结论 2 联合概率 3 边缘概率 4 (行/列)边缘概率的和 总概率1 5 条件概率 5.1 条件概率的除法公式 5.2 条件概率和联合概率区别 1 先说结论 关于独立概率&#xff0c;联合概率&#xff0c;交叉概率&#xff0c;交叉概率和&#xff0c;总概率 类型含义 …

【前端】ES6基础

1.开发工具 vscode地址 :https://code.visualstudio.com/download, 下载对应系统的版本windows一般都是64位的 安装可以自选目录&#xff0c;也可以使用默认目录 插件&#xff1a; 输入 Chinese&#xff0c;中文插件 安装&#xff1a; open in browser&#xff0c;直接右键文件…

《安富莱嵌入式周报》第346期:开源2GHz带宽,12bit分辨率,3.2Gsps采样率示波,开源固件安全分析器, 开源口袋电源,开源健康测量,FreeCAD

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频&#xff1a; https://www.bilibili.com/video/BV1TYBhYKECK/ 《安富莱嵌入式周报》第346期&#xff1a;开源2GHz带…

《白帽子讲Web安全》13-14章

《白帽子讲Web安全》13-14章 《白帽子讲Web安全》13-14章13、应用层拒绝服务攻击13.1、DDOS简介13.2、应用层DDOS13.2.1、CC攻击13.2.2、限制请求频率13.2.3、道高一尺&#xff0c;魔高一丈 13.3、验证码的那些事儿13.4、防御应用层DDOS13.5、资源耗尽攻击13.5.1、Slowloris攻击…

51单片机从入门到精通:理论与实践指南(一)

单片机在智能控制领域的应用已非常普遍&#xff0c;发展也很迅猛&#xff0c;学习和使用单片机的人员越来越多。虽然新型微控制器在不断推出&#xff0c;但51单片机价格低廉、易学易用、性能成熟&#xff0c;在家电和工业控制中有一定的应用&#xff0c;而且学好了51单片机&…

相亲交友小程序项目介绍

一、项目背景 在当今快节奏的社会生活中&#xff0c;人们忙于工作和事业&#xff0c;社交圈子相对狭窄&#xff0c;寻找合适的恋爱对象变得愈发困难。相亲交友作为一种传统而有效的社交方式&#xff0c;在现代社会依然有着巨大的需求。我们的相亲交友项目旨在为广大单身人士提…

Python中的简单爬虫

文章目录 一. 基于FastAPI之Web站点开发1. 基于FastAPI搭建Web服务器2. Web服务器和浏览器的通讯流程3. 浏览器访问Web服务器的通讯流程4. 加载图片资源代码 二. 基于Web请求的FastAPI通用配置1. 目前Web服务器存在问题2. 基于Web请求的FastAPI通用配置 三. Python爬虫介绍1. 什…