csdddn
技术搬运工
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
TensorRT - TensorRT 的工作原理
TensorRT 是一个高性能推理优化器,其工作原理基于对象生命周期管理、错误处理和内存优化。核心组件包括Builder、Network和Engine,其中Engine创建后可独立使用。错误处理通过Logger和ErrorRecorder接口实现,需确保线程安全。内存管理分为构建和运行两个阶段:构建时需控制临时内存和权重内存;运行时Engine会分配设备内存存储权重,ExecutionContext则管理激活和临时内存。TensorRT通过内存共享和流式权重技术优化内存使用,并支持自定义GPU内存分配。日志原创 2025-10-13 02:57:57 · 642 阅读 · 0 评论 -
TensorRT - 安装 TensorRT
TensorRT支持多种安装方式,包括Debian/RPM包、Python wheel和tar/zip文件。Debian/RPM安装自动处理依赖但需要root权限且限制安装位置,而tar文件提供更灵活的版本管理但需手动配置。Python wheel安装包含所有必要库,支持Python 3.8-3.13,适用于Linux和Windows系统。安装时需确保pip和wheel工具最新,使用pip install tensorrt命令,可选择指定CUDA版本。验证安装可通过导入tensorrt模块并检查版本。精简版原创 2025-10-13 02:58:04 · 966 阅读 · 0 评论 -
TensorRT - 概述
TensorRT概述 TensorRT是NVIDIA推出的高性能深度学习推理优化器和运行时库。它接收训练好的网络定义和参数,通过图优化、层融合等技术生成高度优化的推理引擎,在NVIDIA GPU上实现高效推理。TensorRT提供C++和Python API,支持通过ONNX加载预训练模型,并利用混合精度加速在Turing及后续架构GPU上的推理性能。 (字数:100)原创 2025-10-13 02:58:17 · 225 阅读 · 0 评论 -
TensorRT - 先决条件
摘要 本文介绍了安装NVIDIA TensorRT前的先决条件,包括需要预先安装CUDA Toolkit(支持13.x和12.x多个版本)、可选依赖项cuDNN和cuBLAS,以及Python相关依赖(TensorFlow 2.13.1、PyTorch ≥2.0、ONNX 1.16.0等)。TensorRT提供三种安装模式:完整安装、精简运行时和调度运行时。对于ONNX模型转换,推荐使用Nsight Deep Learning Designer工具,该工具会自动下载所需TensorRT组件。原创 2025-10-13 02:58:53 · 639 阅读 · 0 评论 -
TensorRT - Python API 文档
TensorRT Python API 概述:本文介绍了如何使用TensorRT Python API构建和优化深度学习模型。第一部分展示了创建logger、builder和网络定义的基本流程,包括从零构建网络定义的高级用法示例。第二部分详细说明了如何使用ONNX解析器导入模型,包括自定义权重覆盖的方法。文章提供了创建卷积层、池化层、矩阵乘法层等网络组件的代码示例,并引用了相关文档和示例代码资源。该API支持Python开发者高效解析ONNX模型并生成优化后的PLAN文件。原创 2025-10-13 02:59:01 · 775 阅读 · 0 评论 -
TensorRT - 快速入门指南
TensorRT 快速入门指南摘要 本指南为开发者提供了TensorRT SDK的快速入门路径,重点介绍如何构建应用程序以在TensorRT引擎上运行推理。主要内容包括: 安装选项:提供容器、Debian和pip三种主要安装方式 工作流程概述:模型导出、精度选择、转换和部署四个基本步骤 生态系统介绍:详细说明模型转换(Torch-TensorRT、ONNX转换等)和部署(独立运行时、Triton服务器等)的多种选项 示例部署:通过ONNX转换和独立运行时演示ResNet-50模型的完整部署流程 实用教程:包原创 2025-10-13 02:59:09 · 681 阅读 · 0 评论 -
TensorRT - 发行说明
TensorRT 10.13.3 发行说明介绍了该版本的主要更新、兼容性要求和已知限制。新增API捕获和重放功能,简化问题调试流程。该版本不再支持Python 3.8/3.9的示例,但继续提供对应的wheel包。兼容性方面,支持TensorFlow 2.13.1、PyTorch≥2.0和ONNX 1.16.0,需搭配CUDA 12.x/13.x及相应NVIDIA驱动。主要限制包括FP8卷积的性能问题、DLA编译器的优化限制等。文档还列出了各版本API的弃用时间表,最晚保留至2026年8月。原创 2025-10-14 03:10:10 · 1007 阅读 · 0 评论 -
TensorRT - 示例支持指南
TensorRT示例摘要 TensorRT提供了丰富的示例展示其功能,包括工具使用、模型转换、网络构建、精度优化等。主要示例有: trtexec:快速使用TensorRT的命令行工具 ONNX MNIST:展示ONNX模型转换 CharRNN:逐层构建RNN网络 INT8 API:实现INT8精度推理 Python示例:包含PyTorch集成、自定义插件、目标检测等 动态形状:处理可变输入维度 时序缓存:优化引擎构建策略 这些示例涵盖了从基础到高级的应用场景,但注意它们仅用于演示目的,不适合直接用于生产环境原创 2025-10-14 03:10:17 · 757 阅读 · 0 评论 -
TensorRT - 支持矩阵
NVIDIA TensorRT支持矩阵概要:详细列出了不同平台(Linux x86-64、Windows x64、Linux SBSA、JetPack)的TensorRT版本(10.13.x/10.7.x)及其对应支持的CUDA(13.0-12.0)和cuDNN版本(8.9.7/8.9.6)。硬件方面,表格展示了从计算能力7.5(T4)到12.0(RTX PRO 6000 Blackwell)的NVIDIA设备对TF32/FP32/FP16/FP8/INT8等精度的支持情况,并标注DLA可用性。注意序列化引原创 2025-10-14 03:10:23 · 717 阅读 · 0 评论 -
TensorRT - 卸载 TensorRT
本文介绍了不同方式安装TensorRT的卸载方法。对于PyPI安装,需删除Python模块及其依赖项;tar/zip安装需删除解压文件并恢复环境变量;Debian/Ubuntu系统使用apt-get purge命令,RedHat/CentOS系统使用yum erase命令卸载相关软件包。文中提供了各卸载方式的具体命令示例。原创 2025-10-14 03:10:30 · 319 阅读 · 0 评论 -
TensorRT - 升级 TensorRT
TensorRT升级指南摘要 TensorRT支持从最近两个GA版本升级到最新版。若不支持当前版本,需逐步升级或全新安装。升级方式包括: Debian/RPM包:自动更新开发环境,保留运行时组件。主版本升级时新旧版共存,仅开发包被替换。需更新CUDA主版本时自动处理。 tar/zip文件:需在新位置安装,支持多版本并存。升级后需手动更新环境变量(LD_LIBRARY_PATH/PATH)或替换旧文件。 注意事项:混合安装方式可能导致冲突,建议先卸载旧版本。升级后需验证版本号及目录结构是否更新。原创 2025-10-14 03:10:51 · 846 阅读 · 0 评论 -
TensorRT - 使用动态形状
摘要:TensorRT的动态形状功能允许在运行时指定张量维度,通过优化配置文件设置输入维度的允许范围。使用占位符-1定义运行时维度,创建优化配置文件指定最小、最大和优化维度,并在运行时通过执行上下文设置具体维度。动态形状支持命名维度和维度约束,优化配置文件可定义多个维度范围以提升性能。使用动态形状时需注意不同配置文件可能对内存使用产生显著影响。原创 2025-10-14 03:11:21 · 862 阅读 · 0 评论 -
TensorRT - 使用量化类型
摘要 TensorRT通过量化技术实现高性能推理,支持INT8、INT4、FP8和FP4等低精度数据类型,以减小模型大小并加速计算。量化方案采用对称量化,简化浮点与量化值的转换。TensorRT支持训练后量化(PTQ)和量化感知训练(QAT)两种工作流程,前者使用校准数据集计算量化参数,后者在训练中模拟量化以获得更好精度。显式量化通过Q/DQ层精确控制量化位置,是推荐方法;隐式量化已弃用。量化粒度支持每张量、每通道和块级三种方式,块量化适用于INT4和FP4。舍入模式主要采用"银行家舍入"原创 2025-10-14 03:11:31 · 823 阅读 · 0 评论 -
TensorRT - 使用条件语句
TensorRT支持if-then-else条件控制流,通过IConditionLayer、IIfConditionalInputLayer和IIfConditionalOutputLayer实现条件执行。条件语句必须包含一个IConditionLayer、多个输入层和至少一个输出层。条件执行支持惰性求值,通过输入层控制哪些层被急切执行。条件语句可以嵌套循环或其他条件语句,但分支之间不能交叉连接。条件语句必须包含输出层,且每个分支至少有一个输出才能构成合法网络。原创 2025-10-14 03:11:38 · 762 阅读 · 0 评论 -
TensorRT - 使用 DLA
NVIDIA DLA(深度学习加速器)是专用于CNN推理的硬件加速引擎,支持卷积、池化等常见层类型。它可显著提升能效,适用于关键任务场景。文档介绍了通过TensorRT API或trtexec工具在DLA上运行模型的三种方式:1)指定DLA核心执行;2)设置GPU回退模式;3)独立生成可加载文件。关键API包括设置设备类型、批量大小限制等,并提供了sampleMNIST示例的具体实现步骤。DLA与GPU协同工作,为深度学习推理提供高效解决方案。原创 2025-10-14 03:11:47 · 815 阅读 · 0 评论 -
TensorRT - 使用循环
TensorRT支持循环结构,用于处理循环神经网络等场景。它通过边界层定义循环:ITripLimitLayer指定迭代次数,IIteratorLayer遍历张量,IRecurrenceLayer定义循环变量,ILoopOutputLayer指定输出方式。循环支持计数循环和while循环两种模式,并允许嵌套和条件构造。形式化语义基于张量的惰性序列,确保无副作用计算。需要注意的是,引用多个动态维度的循环可能导致内存消耗过大,因为TensorRT会按最大可能维度分配内存。循环结构为RNN等模型提供了高效的实现方式原创 2025-10-14 03:12:00 · 766 阅读 · 0 评论 -
TensorRT - 附加资源
本文提供了TensorRT相关的附加资源汇总,包括层构建器API文档(C++/Python)、ONNX-TensorRT和Torch-TensorRT的GitHub链接、Nsight Systems性能分析工具、官方产品文档、开源组件仓库以及开发者页面资源。这些资源涵盖了从网络构建、模型转换到性能优化的全流程工具链,为开发人员使用TensorRT进行深度学习推理加速提供了全面的技术参考和支持。原创 2025-10-14 03:12:26 · 148 阅读 · 0 评论 -
TensorRT - 命令行程序
trtexec 是 TensorRT 提供的命令行工具,主要用于快速测试模型性能、生成序列化引擎和时序缓存。它支持多种精度模式(FP16/INT8等),可进行网络基准测试并输出吞吐量、延迟等关键指标。工具还提供多流推理、CUDA 图优化等高级功能,支持动态形状输入和详细性能分析。通过参数可控制构建优化等级、内存分配策略等,适用于模型部署前的性能调优和引擎生成。原创 2025-10-14 03:12:34 · 1624 阅读 · 0 评论 -
TensorRT - 数据格式说明
TensorRT支持多种数据格式,包括数据类型和布局格式。数据类型涵盖不同精度的浮点数和整数类型(如FP32/FP16/INT8等)。布局格式决定了数据存储顺序,常见有CHW和HWC两种基本形式,以及NC2HW2、NHWC8等优化格式。NC2HW2将通道值成对打包,NHWC8则将通道值以8元组方式分组存储。这些特殊格式旨在提升计算效率,通过优化数据排列方式实现更快的处理速度。原创 2025-10-14 03:12:42 · 360 阅读 · 0 评论 -
TensorRT - 词汇表
本文摘要介绍了TensorRT的关键术语,包括Batch(批量处理输入)、Builder(模型优化器)、Engine(优化后的推理引擎)等核心概念。重点阐述了数据相关形状类型(显式和隐式)、动态批量处理、精度选项(FP32/TF32/FP16/INT8)以及运行时功能。同时解释了ONNX解析器、平台差异、计划文件等辅助组件,为理解TensorRT的工作原理提供了基础术语框架。原创 2025-10-14 03:12:51 · 699 阅读 · 0 评论 -
TensorRT - API 迁移指南
TensorRT 10.0 Python API主要变更:1)从基于名称的绑定接口改为张量IO模式接口;2)新增异步内存分配和调试功能;3)推荐使用build_serialized_network替代旧版构建方式;4)移除了部分旧接口。代码示例展示了缓冲区分配和推理执行的API迁移方式,包括从execute_async_v2到v3的转换。原创 2025-10-14 03:13:08 · 635 阅读 · 0 评论 -
TensorRT - 运算符文档
TensorRT文档介绍了其支持的各类运算符,这些运算符代表不同的数学和程序操作。文档指出构建TensorRT网络所需的最小工作空间为16MB,实际运行时分配的工作空间不会超过实际需求。该文档提供了TensorRT运算符的详细接口说明,可通过链接访问完整内容。原创 2025-10-15 01:16:36 · 143 阅读 · 0 评论 -
TensorRT - 故障排查
TensorRT常见问题与错误排查摘要 本文档总结了TensorRT使用中的常见问题和错误信息,主要包含两部分内容: 常见问题解答: 多批量大小优化需配置优化配置文件 校准表和引擎在不同TensorRT版本间不兼容 工作空间大小设置建议尽量分配足够内存 多GPU使用需正确设置CUDA设备 网络输出错误排查方法 DLA使用性能考量 并发构建器资源冲突问题 错误信息解析: ONNX解析器错误(如常量初始化问题) 构建错误(实现缺失、权重结构问题) INT8校准问题(全零张量、缩放因子缺失) 引擎兼容性问题(版本原创 2025-10-15 01:16:43 · 998 阅读 · 0 评论 -
TensorRT - 使用自定义层扩展 TensorRT
TensorRT 支持通过自定义插件扩展功能。开发者可以基于 IPluginV3 接口实现插件类,并通过 IPluginCreatorV3One 创建器类注册到 TensorRT 插件注册表。插件实现需要包含核心、构建和运行时三种能力,并通过静态或动态方式注册。最后可使用 addPluginV3() 将插件实例添加到 TensorRT 网络中。这种方法允许在标准层不满足需求时,使用自定义层扩展模型功能。原创 2025-10-13 02:57:50 · 1003 阅读 · 0 评论 -
TensorRT 的功能特性
TensorRT 是 NVIDIA 推出的高性能深度学习推理优化器和运行时库。它提供 C++ 和 Python API,支持离线构建和优化模型,生成高效的推理引擎。工作流程分为构建和运行两个阶段:构建阶段通过 Builder 优化模型并生成引擎,支持 ONNX 导入或逐层构建网络;运行阶段通过 Runtime 反序列化引擎并执行推理。TensorRT 提供多种优化技术,包括计算精度调整、内存优化和内核选择,并支持自定义插件扩展功能。开发者可以根据需求选择不同语言的 API,其中 C++ 版本性能更高,Pyt原创 2025-10-13 02:57:42 · 2535 阅读 · 0 评论 -
TensorRT - C++ API 文档
TensorRT C++ API 摘要: NVIDIA TensorRT C++ API 提供高性能深度学习推理能力,支持从ONNX模型导入或编程方式构建网络。核心流程包括: 初始化阶段:需创建ILogger实例处理日志 网络构建:通过IBuilder创建网络定义,支持强类型网络 网络定义方式: 直接编程创建:逐层构建网络并加载权重 使用ONNX解析器:解析ONNX模型文件 支持自定义权重覆盖模型原有权重 API通过NvInfer.h访问,接口类以"I"前缀标识。使用前建议创建CUDA上原创 2025-10-13 02:57:34 · 882 阅读 · 0 评论 -
TensorRT - 最佳实践
摘要:本文介绍了使用TensorRT的trtexec工具进行深度学习模型性能测试的最佳实践。主要内容包括如何通过ONNX文件直接测量模型性能,以及如何结合量化技术进一步提升性能。文中以ResNet-50为例,展示了使用FP16和INT8量化时的具体命令和性能指标对比,包括吞吐量(507qps vs 811qps)和延迟(1.969ms vs 1.230ms)的显著提升。同时介绍了相关工具链(ModelOptimizer)的安装和使用方法,为开发者提供了完整的性能优化方案参考。原创 2025-10-13 02:57:27 · 812 阅读 · 0 评论 -
TensorRT - 文档概述
摘要 本文介绍了NVIDIA TensorRT深度学习推理优化工具的核心功能与生态系统。主要内容包括:使用C++和Python API实现常见深度学习层的方法;通过ONNX格式导入模型的流程及相关工具(ONNX解析器、GraphSurgeon等);TensorRT与互补软件(如Triton推理服务器、DALI、Torch-TensorRT等)的集成;API版本控制与弃用政策;硬件支持生命周期说明。文章还提供了代码分析工具的使用指导和技术支持资源,帮助开发者充分利用TensorRT在NVIDIA GPU上进行原创 2025-10-13 02:56:40 · 996 阅读 · 0 评论 -
TensorRT - 高级主题
TensorRT提供了版本兼容性和硬件兼容性功能,使引擎能在不同环境中运行。版本兼容性允许引擎在更高版本TensorRT中运行(8.6+),但需注意性能可能下降和API兼容性。硬件兼容性支持构建跨Ampere架构及以上GPU的引擎,或相同计算能力的设备,需权衡性能影响。两种兼容性都会在运行时进行严格版本和设备检查,确保执行环境匹配构建条件。用户可通过特定配置标志启用这些功能,并需注意安全性和性能折衷。原创 2025-10-13 02:56:32 · 1132 阅读 · 0 评论 -
TensorRT - 精度考虑事项
本文介绍了深度学习中降低精度计算的相关考虑事项。主要包括浮点精度的选择(TF32、FP16、BF16)、ULP误差对大幅度值的影响、FP16溢出风险以及敏感计算问题。同时讨论了量化数据类型(INT8/INT4和FP8/FP4)的均匀与非均匀分布特性,以及量化过程中产生的舍入误差和截断误差。文章最后提出了混合精度推理、计算精度控制和幅度调整等缓解策略,以在保持计算效率的同时尽可能减少精度损失。原创 2025-10-13 02:56:20 · 894 阅读 · 0 评论 -
TensorRT - API 捕获和重放
: 这是一个独立的可执行文件,它接收由捕获 Shim 生成的 JSON 和 BIN 文件,并使用它们重建 TensorRT 引擎。这意味着您可以重新创建在原始应用程序运行期间构建的引擎,仅在自动调优期间与时间差异相关的细节上有所不同,这对故障排除和调试有极大帮助。这些被拦截的调用以及任何相关的常量会被保存为一对文件:一个用于存储 API 调用的 JSON 文件和一个用于存储常量的 BIN 文件。它允许您记录应用程序的引擎构建阶段,并在之后重放引擎构建步骤,而无需重新运行原始应用程序或访问模型的源代码。原创 2025-10-12 08:08:43 · 312 阅读 · 0 评论
分享