【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 112.4 update 112.3 update 212.2 update 212.1 update 112.0 update 111.811.7 update 111.6 update 211.5 update 211.4 update 411.3 update 111.2 update 211.1 update 111.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}/pythonpython3 -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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RT_Thread内核源码分析(三)——线程

目录 1. 线程结构 2. 线程创建 2.1 静态线程创建 2.2 动态线程创建 2.3 源码分析 2.4 线程内存结构 3. 线程状态 3.1 线程状态分类 3.2 就绪状态和运行态 3.3 阻塞/挂起状态 3.3.1 阻塞工况 3.4 关闭状态 3.4.1 线程关闭接口 3.4.2 静态线程关闭 3.4.3 动态线程关…

Unity图形学之CubeMap立方体贴图

1.CubeMap&#xff1a;有六个面的贴图组成 2. 假反射&#xff1a;反射天空盒子 &#xff08;1&#xff09;正常UV采样&#xff1a; &#xff08;2&#xff09;Cube的采样&#xff1a;利用反射角采样&#xff0c;反射角X和Cube的交点采样 Shader "Custom/TestReflect"…

C语言基础学习:抽象数据类型(ADT)

基础概念 抽象数据类型&#xff08;ADT&#xff09;是一种数据类型&#xff0c;它定义了一组数据以及可以在这组数据上执行的操作&#xff0c;但隐藏了数据的具体存储方式和实现细节。在C语言中&#xff0c;抽象数据类型&#xff08;ADT&#xff09;是一种非常重要的概念&…

Qt-多元素控件

Qt中的多元素控件 Qt提供的多元素控件有&#xff1a; 这里的多元素控件都是两两一对的。 xxWidget和xxView的一个比较简单的理解就是&#xff1a; xxView是更底层的实现&#xff0c; xxWidget是基于xxView封装来的。 可以说&#xff0c;xxView使用起来比较麻烦&#xff0c;但…

2023年9月GESPC++一级真题解析

一、单选题&#xff08;每题2分&#xff0c;共30分&#xff09; 题号 123456789101112131415 答案 CDBCDBACACBBDDA 1. 我们通常说的 “ 内存 ” 属于计算机中的&#xff08;&#xff09;。 A. 输出设备 B. 输 ⼊ 设备 C. 存储设备 D. 打印设备 【答案】 C 【考纲知识点】…

wend看源码-APISJON

项目地址 腾讯APIJSON官方网站 定义 APIJSON 可以定义为一个面向HTTP 协议的JSON 规范&#xff0c;一个面向数据访问层的ORM 框架。其主要工作流程包括&#xff1a;前端按照既定格式组装 JSON 请求报文&#xff0c;通过 APIJSON-ORM 将这些报文直接转换为 SQL 语句&#xff0c…

VMware虚拟机Ubuntu桥接模式突然连接不上网络解决办法

在Linux环境进行开发时突然发现虚拟机中的Ubuntu突然连接不上网络&#xff0c;图形化界面也找不到有线连接选项。在此记录解决办法。 解决办法 1. 在终端命令行输入以下命令&#xff1a; sudo service network-manager stop2. 然后编辑以下文件将其中NetworkingEnable fals…

丹摩征文活动|摩智算平台深度解析:Faster R-CNN模型的训练与测试实战

目录 文章前言Faster R-CNN的简介Faster RCNN的训练与测试提前准备1.1 mobaxterm&#xff08;远程连接服务器&#xff09;1.2 本文的源码下载 目标检测模型 Faster-Rcnn2.1云服务器平台 数据上传内置JupyterLab的使用本地连接使用DAMODEL实例获取实例的SSH访问信息通过SSH连接通…

【数据结构】归并排序 —— 递归及非递归解决归并排序

归并排序 一、归并排序1、归并排序的思想2、归并排序代码实现&#xff08;递归&#xff09;<1> 归并排序的递归区间<2> 归并排序的稳定性<3> 拷贝 3、归并排序代码实现&#xff08;非递归&#xff09;<1> 循环区间溢出问题 二、总结 一、归并排序 1、…

调大Vscode资源管理器字体

对于调整资源管理器字体大小&#xff08;也就是下图红框&#xff09;&#xff0c;查找了网上很多方法。要么介绍的方法是调整了代码字体&#xff0c;要么是调节了终端字体&#xff0c;要么是通过整体放缩实现的调整&#xff0c;总之都不合适。 唯一的调整方法是在几篇CSDN里看到…

【Linux】-学习笔记04

第十二章、磁盘管理 1.查看磁盘空间使用量 1.1df命令 作用&#xff1a; 列出文件系统的磁盘空间占用情况 df&#xff0c;disk free&#xff0c;通过文件系统来快速获取空间大小的信息&#xff0c;当我们删除一个文件的时候&#xff0c;这个文件 不是马上就在文件系统当中消…

centos 服务器 docker 使用代理

宿主机使用代理 在宿主机的全局配置文件中添加代理信息 vim /etc/profile export http_proxyhttp://127.0.0.1:7897 export https_proxyhttp://127.0.0.1:7897 export no_proxy"localhost,127.0.0.1,::1,172.171.0.0" docker 命令使用代理 例如我想在使用使用 do…

Vue中Select选择器el-option实现动态多选

效果如图&#xff1a; 前端列表块显示部分&#xff1a; <el-table :data"tableData" border stripe :header-cell-class-name"headerBg" selection-change"handleSelectionChange"><el-table-column type"selection" width…

【ubuntu24.04.1最简洁安装方案】

我的电脑配置&#xff1a; 128GB固态硬盘&#xff0c;1TB 机械硬盘&#xff0c;我把整个 windows 系统全噶掉了&#xff0c;只安装ubuntu24.04.1一个Linux系统噶windows系统&#xff0c; 推荐使用 DiskGenius这个工具&#xff0c;好用&#xff0c;但是也要弄明白了再用啊&#…

k8s集群加入node节点为ubuntu 22.04

文章目录 1.环境准备1.1 关闭无用服务1.2 环境和网络1.3 apt源1.4 系统优化 2. 装containerd3. 接入k8s集群3.1 kubelet、kubeadm、kubectl安装3.2 缺少一个镜像3.3 接入k8s集群 4. 一些相关问题 1.环境准备 rootcto-gpu-pro-n01:~# lsb_release -a No LSB modules are availa…

C#桌面应用制作计算器进阶版01

基于C#桌面应用制作计算器做出了少量改动&#xff0c;其主要改动为新增加了一个label控件&#xff0c;使其每一步运算结果由label2展示出来&#xff0c;而当点击“”时&#xff0c;最终运算结果将由label1展示出来&#xff0c;此时label清空。 修改后运行效果 修改后全篇代码 …

如何构建高效的接口自动化测试框架?

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在选择接口测试自动化框架时&#xff0c;需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说&#xff0c;使用Python相关的测试框架更为便捷。无论选…

数据结构-8.Java. 七大排序算法(上篇)

本篇博客给大家带来的是排序的知识点, 由于时间有限, 分两天来写, 上篇主要实现 前四种排序算法: 直接插入, 希尔, 选择, 堆排。 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 …

算法日记 32 day 动态规划(完全背包)

同样是背包问题&#xff0c;但01背包和完全背包是两个类型的问题。 完全背包&#xff1a; 完全背包与01背包的区别在于物品的个数是否是无限的。除此之外&#xff0c;在解决01背包的时候dp的背包遍历的顺利是倒序&#xff0c;为的是保证物品只被添加一次&#xff0c;而完全背包…

数据结构之树与二叉树

华子目录 1.树和二叉树的定义1.1树的定义1.2树的基本术语1.3线性结构和树结构1.4二叉树的定义 2.二叉树的性质和存储结构2.1二叉树的性质2.2二叉树的存储结构2.2.1顺序存储2.2.2链式存储 2.3遍历二叉树2.4大作业&#xff1a;二叉树的基本操作2.4.1代码思路&#xff08;仅供参考…