更新日志#
0.13.1#
修复:将 AutocastType 添加到公共 API
测试期间使用的外部组件版本
Polygraphy: 0.49.13
GraphSurgeon: 0.5.2
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.13.0#
新增:在 TensorConfig 中引入 custom_args,供自定义运行器使用,允许为 TorchTensorRT 编译设置动态形状
新增:autocast_dtype 添加了 Torch 运行器配置,用于设置自动类型转换的数据类型
新增:适用于 python 版本 >= 3.10 的新版 Onnx Runtime 1.20
新增:在最大批大小的启发式搜索中使用
torch.compile
路径更改:移除了
nav.jax.optimize
的 TensorFlow 依赖项更改:从
nav.profile
中移除了 PyTorch 依赖项更改:在状态中收集所有 Python 包,而不是过滤后的列表
更改:当配置中提供
None
时,对最大批大小启发式使用默认吞吐量截止阈值更改:对于 Torch >= 2.5,更新了默认 ONNX opset 为 20
修复:由于错误的数据类初始化,Python >=3.11 引发异常
修复:从 Torch 2.5 中移除了 ExportOption 中的选项
修复:改进了基于 Torch 的运行器中的预处理阶段
修复:警告在 Torch 中使用自动类型转换和 bfloat16
修复:将运行器配置传递给 nav.profile 中的运行器
测试期间使用的外部组件版本
Polygraphy: 0.49.13
GraphSurgeon: 0.5.2
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.12.0#
新增:优化过程的简单和详细报告
新增:调整了为 Keras 3.x 导出 TensorFlow SavedModel
新增:当包装的模块在优化期间未被调用时通知用户
新增:当模块使用自定义前向函数时通知用户
新增:支持 Torch ExportedProgram 中的动态形状
新增:将 ExportedProgram 用于 Torch-TensorRT 转换
新增:支持在分析期间退避策略以避免报告局部最小值
新增:当模块在单个管道范围内具有不同的批大小,自动缩放转换批大小
更改:TensorRT 转换最大批大小搜索依赖于基本格式的饱和吞吐量
更改:调整了吞吐量截止搜索的分析配置
更改:在
nav.profile
期间将优化的管道包含在检查的变体列表中更改:当格式和运行时的正确性失败时,不执行性能
更改:当未提供验证函数时,不执行验证命令
更改:在执行
torch.compile
之前不创建模型副本修复:管道有时在
nav.profile
期间在不同的设备上获取模型和张量修复:从 ExportedProgram 中提取图以运行推理
修复:运行器配置未传播到预处理步骤
测试期间使用的外部组件版本
Polygraphy: 0.49.12
GraphSurgeon: 0.5.2
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.11.0#
新增:Python 3.12 支持
新增:改进的日志记录
新增:优化的就地模块可以存储到 Triton 模型仓库
新增:TensorRT 模型构建和运行时的多配置文件支持
新增:测量优化管道中执行的每个命令的持续时间
新增:用于在 Triton 推理服务器上部署的 TensorRT-LLM 模型存储生成
更改:在运行优化时,过滤掉不受支持的运行器,而不是引发错误
更改:将 JAX 支持移动到实验模块和有限支持
更改:对于基于 Torch 的运行器,使用 autocast=True
更改:在
nav.profile
测量中使用 torch.inference_mode 或 torch.no_grad 上下文更改:使用多种策略来选择优化的运行时,默认为 [
MaxThroughputAndMinLatencyStrategy
,MinLatencyStrategy
]更改:当使用
nav.optimize
时,不会自动为模块设置trt_profiles
修复:在 torch onnx dynamo 导出后正确恢复日志级别
测试期间使用的外部组件版本
Polygraphy: 0.49.10
GraphSurgeon: 0.5.2
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.10.1#
修复:在进行 dynamo 清理之前检查 torch 2 是否可用
测试期间使用的外部组件版本
Polygraphy: 0.49.10
GraphSurgeon: 0.5.2
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.10.0#
新增:就地
nav.Module
接受batching
标志,该标志会覆盖配置设置,以及precision
,允许为 TensorRT 设置适当的配置新增:允许在使用
nav.load_optimized()
加载优化模块时设置设备新增:在 Torch ONNX Dynamo 路径中添加对自定义 i/o 名称和动态形状的支持
新增:添加了
nav.bundle.save
和nav.bundle.load
以从缓存保存和加载优化的模型更改:改进了就地模式下的优化和分析状态
更改:改进了执行
nav.package.optimize
时 ONNX Dynamo 默认值的处理修复:在
nav.profile()
中维护模块设备修复:在
nav.profile()
中为 TensorRT 添加对所有精度的支持修复:前向方法未传递给其他就地模块。
测试期间使用的外部组件版本
Polygraphy: 0.49.10
GraphSurgeon: 0.5.2
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.9.0#
新增:TensorRT 时序策略缓存管理 - 使用时序策略缓存文件来提高优化性能
新增:在
nav.profile()
中添加了吞吐量饱和度验证(默认启用)新增:允许通过
MODEL_NAVIGATOR_DEFAULT_CACHE_DIR
环境变量覆盖就地缓存目录新增:就地
nav.Module
现在可以接收一个函数名,用于代替模块/子模块中的 call,允许自定义具有非标准调用的模块修复:torch dynamo 导出和 torch dynamo onnx 导出
修复:
nav.profile()
中的测量稳定性修复:通过 Torch 进行就地推理
修复:ONNX 到 TRT 转换中的 trt_profiles 参数处理
修复:就地 API 中批大小的最佳形状配置
更改:禁用 TensorRT 配置文件构建器
更改:
nav.optimize()
不会覆盖模块配置
测试期间使用的外部组件版本
Polygraphy: 0.49.4
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.8.1#
修复:当模型具有空形状的输入时,使用 TensorRT 进行推理
修复:当模型没有批处理时,使用稳定的运行器
修复:cuDNN 的无效依赖项 - 查看 已知问题
修复:使 ONNX Graph Surgeon 在 protobuf 限制 (2G) 内生成工件
更改:从默认运行器中删除 TensorRTCUDAGraph
更改:将 ONNX 包更新到 1.16
测试期间使用的外部组件版本
Polygraphy: 0.49.4
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.8.0#
新增:允许为 TensorRT 运行器选择设备
新增:向 TensorRT 运行器添加设备输出缓冲区
新增:为分析任何 Python 函数添加了 nav.profile
更改:就地优化 API(重大更改)
修复:传递 Torch 到 ONNX 导出的输入
修复:解析 torchscript-trace 导出中的 args 到 kwargs
修复:加载 Torch 就地优化模型时降低峰值内存使用量
测试期间使用的外部组件版本
Polygraphy: 0.49.4
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.7#
更改:为从包生成的 Triton 模型仓库添加输入和输出规范
测试期间使用的外部组件版本
Polygraphy: 0.49.0
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.6#
修复:传递 Torch 到 ONNX 导出的输入
修复:将输入数据传递到 OnnxCUDA 运行器
测试期间使用的外部组件版本
Polygraphy: 0.49.0
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.5#
新增:TensorRT 的 FP8 精度支持
新增:支持 Torch 运行器的自动类型转换和推理模式配置
新增:允许为 Torch 和 ONNX 运行器选择设备
新增:在 Triton 模型配置中添加对
default_model_filename
的支持新增:推理步骤的详细分析(预处理和后处理、memcpy 和计算)
修复:当使用自定义工作空间时,JAX 导出和 TensorRT 转换失败
修复:传递给 TensorRT 转换的缺失最大工作区大小
修复:在处理输出元数据期间,执行 TensorRT 优化引发错误
修复:限制 Polygraphy 版本以与 onnxruntime-gpu 包正确配合工作
测试期间使用的外部组件版本
Polygraphy: 0.49.0
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.4#
新增:Triton 模型配置中的解耦模式配置
新增:支持 PyTorch ExportedProgram 和 ONNX dynamo 导出
新增:添加了 GraphSurgeon ONNX 优化
修复:通过适配器生成 PyTriton 模型配置的兼容性
修复:平台相关包的安装
修复:使用从源加载的模型更新包配置
更改:在 TensorRT 运行器中,当 TensorType.TORCH 是返回类型时,延迟将张量转换为 Torch
更改:从 Polygraphy CLI 迁移到 Polygraphy Python API
更改:从支持列表中删除 Windows
测试期间使用的外部组件版本
Polygraphy: 0.49.0
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.3#
新增:nav.Module 中的数据依赖动态控制流支持(每个模块多个计算图)
新增:添加了查找最大批大小实用程序
新增:添加了实用程序 API 文档
新增:添加了 Timer 类,用于测量模型和就地模块的执行时间。
修复:为 TensorRT 转换使用广泛的形状范围
修复:从工作空间加载的样本排序
更改:在就地模式下,默认情况下每个模块存储一个样本,并存储所有样本的形状信息
更改:始终为所有支持的格式执行导出
已知问题和限制
nav.Module 将原始 torch.nn.Module 移动到 CPU,在权重共享的情况下,可能会导致意外行为
对于数据依赖动态控制流(多个计算图),nav.Module 可能会为每个单独的图复制权重
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.2#
修复:从 ONNX 文件中获取 TensorRT 转换的输入名称
更改:当所需命令失败时,引发异常而不是使用代码退出
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.1#
修复:基于模型的前向签名收集 onnx 输入名称
修复:当最大批大小为 None 时,不运行 TensorRT 最大批大小搜索
修复:使用 pytree 元数据来展平 torch 复杂输出
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.7.0#
新增:就地优化功能 - 直接在 Python 代码中优化模型
新增:非张量输入和输出支持
新增:Triton 模型配置中的模型预热支持
新增:添加了 nav.tensorrt.optimize api,用于测试和测量 TensorRT 模型的性能
新增:扩展了自定义配置,可以直接将参数传递给导出和转换操作,如
torch.onnx.export
或polygraphy convert
新增:在模型分析期间收集 GPU 时钟
新增:添加了选项,用于配置性能验证和分析的最小试验次数和稳定窗口
更改:Navigator 包版本更改为 0.2.3。自定义配置现在使用 trt_profiles 列表而不是单个值
更改:为正确性和分析期间使用的运行器存储单独的重现脚本
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.27
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.6.3#
修复:导出命令中对受支持框架的有条件导入
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.6.2#
新增:收集有关转换期间使用的 TensorRT 形状的信息
修复:文档中的无效链接
更改:改进了渲染文档
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.6.1#
修复:将包中的模型添加到具有自定义配置的 Triton 模型存储
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.6.0#
新增:Torch、ONNX 和 TensorRT 的零拷贝运行器 - 省略运行器执行之间的 H2D 和 D2H 内存复制
新增:
nav.pacakge.profile
API 方法,用于分析在提供的数据加载器上生成的模型更改:ProfilerConfig 替换为 OptimizationProfile
新增:OptimizationProfile 影响 TensorRT 的转换
新增:
batch_sizes
和max_batch_size
限制 TensorRT 转换中的最大配置文件新增:允许为分析提供单独的数据加载器 - 仅使用第一个样本
新增:允许在空包上运行
nav.package.optimize
- 仅生成状态新增:当 PyTorch 2.x 可用时,为推理运行器使用
torch.inference_mode
修复:在将
nav.{framework}.optimize
期间生成的包直接传递给nav.package.optimize
命令时,配置中缺少model
其他次要修复和改进
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.5.6#
修复:将样本加载为已排序以保持有效顺序
修复:当模型已存在于路径中时执行转换
其他次要修复和改进
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.5.5#
新增:公共
nav.utilities
模块,带有 UnpackedDataloader 包装器新增:在 Torch 自定义配置中添加了对 strict 标志的支持
新增:扩展了 TensorRT 自定义配置,以支持构建器优化级别和硬件兼容性标志
修复:最大批大小中的奇数值的无效最佳形状计算
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.5.4#
新增:ONNX 和 TensorRT 运行器的自定义实现
新增:在单元测试和功能测试中为 JAX 使用 CUDA 12
新增:逐步示例
新增:更新的文档
新增:引入了 TensorRTCUDAGraph 运行器,支持 CUDA 图
修复:自适应转换期间未正确设置最佳形状
修复:JAX 的查找最大批大小命令
修复:在调试模式下将 stdout 保存到日志文件
测试期间使用的外部组件版本
Polygraphy: 0.47.1
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.5.3#
修复:在 ONNX 运行器中使用 output_metadata 过滤输出
测试期间使用的外部组件版本
Polygraphy: 0.44.2
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.5.2#
新增:添加了贡献者许可协议 (CLA)
修复:为 pypi 添加了缺失的 –extra-index-url 到安装说明
修复:更新了 wheel 自述文件
修复:当目标格式中只有 ONNX 且禁用 ONNX 扩展导出时,不运行 TorchScript 导出
修复:记录 ModelNavigatorUserInputError 的完整回溯
测试期间使用的外部组件版本
Polygraphy: 0.44.2
GraphSurgeon: 0.3.26
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.5.1#
修复:在 Onnx 到 TensorRT 转换期间使用相对工作空间导致错误
修复:在 ONNX 格式的包中添加了外部权重
修复:功能测试的错误修复
测试期间使用的外部组件版本
Polygraphy: 0.44.2
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.5.0#
新增:支持 PyTriton 部署
新增:支持使用 python.optimize API 的 Python 模型
新增:PyTorch 2 编译 CPU 和 CUDA 运行器
新增:在状态中收集转换最大批大小
新增:支持
compile
的 PyTorch 运行器更改:改进了 CUDA 和 CPU 运行器的处理
更改:通过将查找设备最大批大小时间作为单独的管道运行一次来减少查找时间
更改:将查找最大批大小结果存储在状态中的单独文件中
测试期间使用的外部组件版本
Polygraphy: 0.44.2
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.4.4#
修复:当将单输入模型导出到保存的模型时,解包带有输入的单元素列表
测试期间使用的外部组件版本
Polygraphy: 0.44.2
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.4.3#
修复:在 Keras 推理中,对于单输入模型使用 model.predict(tensor)
测试期间使用的外部组件版本
Polygraphy: 0.44.2
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.4.2#
修复:从包中加载 trt_profile 的配置
修复:包内缺少重现脚本和日志
修复:ONNX 到 TRT 转换的重现脚本中的无效模型路径
修复:在 ONNX 到 TRT 转换期间从主线程中的 ONNX 模型收集元数据
测试期间使用的外部组件版本
Polygraphy: 0.44.2
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.4.1#
修复:当指定时,使用来自自定义 OnnxConfig 的动态轴
测试期间使用的外部组件版本
Polygraphy: 0.43.1
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.4.0#
新增:
optimize
方法,该方法替换export
,并在过程中执行最大批大小搜索和改进的分析新增:在
optimize
中引入了自定义配置,以便更好地参数化导出/转换命令新增:支持为模型正确性和分析添加用户运行器
新增:搜索转换和分析期间每种格式的最大可能批大小
新增:用于从 Navigator 包和用户提供的模型创建 Triton 模型存储的 API
更改:改进了 Navigator 包的状态结构
已弃用:优化对 Triton 推理服务器的支持
已弃用:HuggingFace contrib 模块
错误修复和其他改进
测试期间使用的外部组件版本
Polygraphy: 0.43.1
GraphSurgeon: 0.4.6
其他组件版本取决于所使用的框架容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.8#
更新了 NVIDIA 容器默认值为 22.11
测试期间使用的外部组件版本
Polygraphy: 0.42.2
GraphSurgeon: 0.3.19
tf2onnx: v1.12.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.7#
更新了 NVIDIA 容器默认值为 22.10
测试期间使用的外部组件版本
Polygraphy: 0.42.2
GraphSurgeon: 0.3.19
tf2onnx: v1.12.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.6#
更新了 NVIDIA 容器默认值为 22.09
模型导航器导出 API
新增:在 Torch-TensorRT 的运行器中将 int64 输入数据转换为 int32
新增:将 64 位数据样本转换为 TensorRT 的 32 位值
新增:用于记录导出和转换命令到控制台的 verbose 标志
新增:debug 标志,用于启用导出和转换命令的调试模式
更改:命令日志在命令运行时流式传输到控制台
更改:包加载省略日志文件和自动生成的脚本
测试期间使用的外部组件版本
Polygraphy: 0.42.2
GraphSurgeon: 0.3.19
tf2onnx: v1.12.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.5#
更新了 NVIDIA 容器默认值为 22.08
模型导航器导出 API
新增:TRTExec 运行器默认使用
use_cuda_graph=True
新增:当数据加载器转储带有
nan
或inf
值的输入时,记录警告而不是引发错误新增:为命令输入参数启用日志记录
修复:当 trt_dynamic_axes 传递给导出函数时,Polygraphy TRT 配置文件的无效使用
测试期间使用的外部组件版本
Polygraphy: 0.38.0
GraphSurgeon: 0.3.19
tf2onnx: v1.12.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.4#
更新了 NVIDIA 容器默认值为 22.07
模型导航器 OTIS
已弃用:来自 CLI 选项的 TensorRT 的
TF32
精度 - 将在未来版本中删除修复:在转换期间获取模型签名时导入了 Tensorflow 模块
模型导航器导出 API
新增:支持构建安装了模型导航器的框架容器
新增:用于加载 Navigator 包以重现结果的示例
新增:为正确性和性能步骤创建重现脚本
新增:TrtexecRunner,用于使用 trtexec 工具进行正确性和性能测试
新增:默认情况下,对于具有 FP32 精度的模型,使用 TF32 支持
新增:当使用
load
包时,将转换参数重置为默认值新增:测试 JAX 导出 enable_xla 和 jit_compile 参数的所有选项
更改:分析稳定性改进
更改:将导出函数参数
onnx_runtimes
重命名为runtimes
已弃用:来自可用选项的 TensorRT 的
TF32
精度 - 将在未来版本中删除修复:不要将 TF-TRT 模型保存到 .nav 包
修复:不要从 .nav 包中保存 TF-TRT 模型
修复:当指定
_input_names
或_output_names
时,正确加载 .nav 包修复:调整 TF 和 TF-TRT 模型签名以匹配
input_names
修复:在包内保存 CLI 配置的 ONNX opset
修复:失败路径缺少重现脚本
测试期间使用的外部组件版本
Polygraphy: 0.38.0
GraphSurgeon: 0.3.19
tf2onnx: v1.11.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.3#
模型导航器导出 API
新增:改进了输入和输出元数据的处理
新增:Navigator 包版本更新至 0.1.3
新增:与先前版本的 Navigator 包向后兼容
修复:动态形状的输出形状读取不正确
测试期间使用的外部组件版本
Polygraphy: 0.36.2
GraphSurgeon: 0.3.19
tf2onnx: v1.11.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.2#
更新了 NVIDIA 容器默认值为 22.06
模型导航器 OTIS
新增:Perf Analyzer 分析数据使用 base64 格式的内容
修复:当 TensorRT 模型具有
uint64
或int64
输入和/或输出定义时的签名
模型导航器导出 API
新增:更新了 navigator 包格式为 0.1.1
新增:将模型导航器版本添加到状态文件
新增:向 CLI 配置中的模型添加 atol 和 rtol 配置
新增:添加了对 JAX 模型的实验性支持
新增:如果导出或转换失败,准备最小脚本以重现错误
修复:转换参数未存储在 CLI 执行的 Navigator 包中
测试期间使用的外部组件版本
Polygraphy: 0.36.2
GraphSurgeon: 0.3.19
tf2onnx: v1.11.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.1#
更新了 NVIDIA 容器默认值为 22.05
模型导航器 OTIS
修复:保存 Triton 包状态文件内的路径
修复:GPU 空列表导致进程仅在 CPU 上运行
修复:从压缩的 Navigator 包中读取内容
修复:当没有 GPU 或目标设备设置为 CPU 时,
optimize
避免在 CLI 中运行不受支持的转换新增:转换器接受将目标设备类型传递给选定的 CPU 或 GPU 支持的转换
新增:为 ONNXRuntime 添加了对 OpenVINO 加速器的支持
新增:为手动分析模式下的模型分析器提前退出支持添加了
--config-search-early-exit-enable
选项新增:为
select
命令添加了--model-config-name
选项。它允许从 Triton 模型分析器生成的所有配置集中选择特定的模型配置进行部署,即使它不是性能最佳的配置。移除:由于上游库中已弃用该功能,因此已删除
--tensorrt-strict-types
选项。
模型导航器导出 API
新增:为 TensorFlow2 导出添加了动态形状支持和 trt 动态形状支持
新增:改进了每种格式的日志记录
新增:添加了 PyTorch 到 Torch-TRT 精度选择
新增:高级分析(测量窗口,可配置的批大小)
测试期间使用的外部组件版本
Polygraphy: 0.36.2
GraphSurgeon: 0.3.19
tf2onnx: v1.10.1
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.3.0#
更新了 NVIDIA 容器默认值为 22.04
模型导航器导出 API
支持从 TensorFlow2 和 PyTorch 源代码导出模型到支持的目标格式
支持从 ONNX 转换为支持的目标格式
支持导出 HuggingFace 模型
导出模型的转换、正确性和性能测试
存储所有导出的模型和附加元数据的包结构定义
模型导航器 OTIS
更改:
run
命令已弃用,并可能在未来版本中删除新增:
optimize
命令替换run
并生成输出*.triton.nav
包新增:
select
从*.triton.nav
包中选择性能最佳的配置,并创建 Triton 推理服务器模型仓库新增:添加了对 Perf Analyzer 使用共享内存选项的支持
移除 wkhtmltopdf 包依赖项
测试期间使用的外部组件版本
Polygraphy: 0.35.1
GraphSurgeon: 0.3.14
tf2onnx: v1.9.3
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.2.7#
更新了 NVIDIA 容器默认值为 22.02
移除了对 Python 3.7 的支持
Triton 模型配置相关
支持动态批处理,无需设置首选批大小值
分析相关
已弃用
--config-search-max-preferred-batch-size
标志,因为它在 Triton 模型分析器中不再受支持
测试期间使用的外部组件版本
Polygraphy: 0.35.1
GraphSurgeon: 0.3.14
tf2onnx: v1.9.3
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
0.2.6#
更新了 NVIDIA 容器默认值为 22.01
由于 EOL,移除了对 Python 3.6 的支持
转换相关
添加了对 Torch-TensorRT 转换的支持
修复和改进
模型导航器启动的容器内进程现在在没有 root 权限的情况下运行
修复了从其他容器在容器中运行 Triton 推理服务器时的卷挂载问题
修复了输入和输出路径上没有文件扩展名的模型的转换
修复了当输入和输出文件没有扩展名时使用
--model-format
参数的问题
测试期间使用的外部组件版本
Polygraphy: 0.35.1
GraphSurgeon: 0.3.14
tf2onnx: v1.9.3
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
已知问题和限制
缺少对有状态模型的支持(例如,时间序列模型)
未验证转换结果的转换:TF -> ONNX、TF->TF-TRT、TorchScript -> ONNX
可能为 TensorRT 定义单个配置文件
没有自定义 ops 支持
当用户中断分析过程时,Triton 推理服务器仍在后台运行
TF-TRT 转换丢失了输出形状信息
0.2.5#
更新了 NVIDIA 容器默认值为 21.12
转换相关
[实验性] TF-TRT - 修复了默认数据集配置文件生成
Triton 上的配置模型相关
修复了 Triton 模型部署配置中 onnxruntime 后端的名称
测试期间使用的外部组件版本
Polygraphy: 0.33.1
GraphSurgeon: 0.3.14
tf2onnx: v1.9.3
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
已知问题和限制
缺少对有状态模型的支持(例如,时间序列模型)
未验证转换结果的转换:TF -> ONNX、TF->TF-TRT、TorchScript -> ONNX
可能为 TensorRT 定义单个配置文件
没有自定义 ops 支持
当用户中断分析过程时,Triton 推理服务器仍在后台运行
TF-TRT 转换丢失了输出形状信息
0.2.4#
更新了 NVIDIA 容器默认值为 21.10
修复了当
dtypes
未传递时生成分析数据的问题转换相关
[实验性] 添加了对 TF-TRT 转换的支持
Triton 上的配置模型相关
添加了选择批处理模式的可能性 - 支持默认、动态和禁用选项
从 pip 包而不是 Polygraphy 和 Triton 模型分析器的 wheels 安装依赖项
修复和改进
测试期间使用的外部组件版本
Polygraphy: 0.33.1
GraphSurgeon: 0.3.14
tf2onnx: v1.9.3
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
已知问题和限制
缺少对有状态模型的支持(例如,时间序列模型)
未验证转换结果的转换:TF -> ONNX、TF->TF-TRT、TorchScript -> ONNX
可能为 TensorRT 定义单个配置文件
没有自定义 ops 支持
当用户中断分析过程时,Triton 推理服务器仍在后台运行
TF-TRT 转换丢失了输出形状信息
0.2.3#
更新 NVIDIA 容器默认设置为 21.09
改进了 TensorRT 转换和加速特定参数的命名,并保持向后兼容性
使用 pip 包安装 Triton Model Analyzer,最低版本为 1.8.0
修复了
model_repository
路径不应相对于<navigator_workspace>
目录的问题正确处理来自 CLI 命令的退出代码
支持为
--gpus
参数使用设备 ID转换相关
增加了对精度模式的支持,以支持在转换为 TensorRT 期间使用多种精度
添加了
--tensorrt-sparse-weights
标志,用于 TensorRT 的稀疏权重优化添加了
--tensorrt-strict-types
标志,强制 TensorRT 基于层精度选择策略添加了
--tensorrt-explicit-precision
标志,启用显式精度模式修复了在转换为 TensorRT 期间,相对容差中出现 nan 值的问题
Triton 上的配置模型相关
移除了
engine_count_per_device
的默认值增加了使用
triton_backend_parameters
命令定义 Triton 自定义后端参数的可能性增加了使用参数
tensorrt_max_workspace_size
定义 TensorRT 后端加速器最大工作区大小的可能性
分析相关
为所有分析参数添加了
config_search
前缀 (重大变更)添加了
config_search_max_preferred_batch_size
参数添加了
config_search_backend_parameters
参数
修复和改进
使用的外部组件版本
Polygraphy: 0.32.0
GraphSurgeon: 0.3.13
tf2onnx: v1.9.2 (支持 ONNX opset 14, tf 1.15 和 2.6)
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
已知问题和限制
缺少对有状态模型的支持(例如,时间序列模型)
缺少对不支持批处理模型的支持
对于 TF -> ONNX, TorchScript -> ONNX 的转换,没有转换结果的验证
可能为 TensorRT 定义单个配置文件
0.2.2#
更新 NVIDIA 容器默认设置为 21.08
使用的外部组件版本
Triton Model Analyzer: 1.7.0
Triton Inference Server 客户端: 2.13.0
Polygraphy: 0.31.1
GraphSurgeon: 0.3.11
tf2onnx: v1.9.1 (支持 ONNX opset 14, tf 1.15 和 2.5)
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
已知问题和限制
缺少对有状态模型的支持(例如,时间序列模型)
缺少对不支持批处理模型的支持
对于 TF -> ONNX, TorchScript -> ONNX 的转换,没有转换结果的验证
可能为 TensorRT 定义单个配置文件
0.2.1#
修复了当未传递 tensorrt_capture_cuda_graph 标志时 triton-model-config 错误
将转换比较器输入和输出转储到 JSON 文件中
在日志中添加了关于容差参数值的信息,以便通过转换验证
使用
count_windows
模式作为 Perf Analyzer 的默认选项增加了定义自定义 Docker 镜像的可能性
Bug 修复
使用的外部组件版本
Triton Model Analyzer: 1.6.0
Triton Inference Server 客户端: 2.12.0
Polygraphy: 0.31.1
GraphSurgeon: 0.3.11
tf2onnx: v1.9.1 (支持 ONNX opset 14, tf 1.15 和 2.5)
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
已知问题和限制
缺少对有状态模型的支持(例如,时间序列模型)
缺少对不支持批处理模型的支持
对于 TF -> ONNX, TorchScript -> ONNX 的转换,没有转换结果的验证
可能为 TensorRT 定义单个配置文件
TensorRT 后端加速在 Triton Inference Server 21.07 版本中不支持 ONNX Runtime
0.2.0#
对命令行 API 进行了全面的重构,以便提供更渐进的管道步骤执行
使用的外部组件版本
Triton Model Analyzer: 21.05
tf2onnx: v1.8.5 (支持 ONNX opset 13, tf 1.15 和 2.5)
其他组件版本取决于所使用的框架和 Triton 推理服务器容器版本。有关详细摘要,请参阅其支持矩阵。
已知问题和限制
缺少对有状态模型的支持(例如,时间序列模型)
缺少对不支持批处理模型的支持
对于 TF -> ONNX, TorchScript -> ONNX 的转换,没有转换结果的验证
由于 PyTorch 1.8 中的 问题,TorchScript -> ONNX 转换存在问题
受影响的 NVIDIA PyTorch 容器:20.12, 21.02, 21.03
解决方法:使用高于 21.03 版本的 PyTorch 容器
可能为 TensorRT 定义单个配置文件
0.1.1#
文档更新
0.1.0#
主要组件发布
模型转换器 - 将模型转换为一组针对推理优化的变体,或供 Triton Inference Server 后端后续优化。
模型仓库构建器 - 设置 Triton Inference Server 模型仓库,包括其配置。
模型分析器 - 基于模型的计算和内存需求、可用的计算基础设施以及模型应用程序约束,选择最佳的 Triton Inference Server 配置。
Helm Chart 生成器 - 将 Triton Inference Server 和具有最佳配置的模型部署到云端。
使用的外部组件版本
Triton Model Analyzer: 21.03+616e8a30
tf2onnx: v1.8.4 (支持 ONNX opset 13, tf 1.15 和 2.4)
其他组件版本取决于所使用的框架和 Triton Inference Server 容器版本。 有关详细摘要,请参阅其支持矩阵。
已知问题
缺少对有状态模型的支持(例如,时间序列模型)
缺少对不支持批处理模型的支持
对于 TF -> ONNX, TorchScript -> ONNX 的转换,没有转换结果的验证
由于 PyTorch 1.8 中的 问题,TorchScript -> ONNX 转换存在问题
受影响的 NVIDIA PyTorch 容器:20.12, 21.03
解决方法:使用与上述不同的容器
当用户中断分析过程时,Triton 推理服务器仍在后台运行