You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将TensorRT引擎文件转换为ONNX文件(Jetson Xavier NX场景)

TensorRT引擎转ONNX的解决方法

方案一:通过TensorRT API解析重建ONNX

  • 利用TensorRT的Python/C++ API加载.engine文件,提取网络的层结构、输入输出规格、权重参数等信息。
  • 对照ONNX的标准算子,将TensorRT的每层映射为ONNX的节点,手动或通过脚本拼接成完整的ONNX模型并保存。
    • 注意:TensorRT的融合层(如Conv+Bias+ReLU合并层)需要拆分为ONNX支持的独立算子;自定义层可能需要额外编写映射逻辑。
    • 基础操作步骤(Python):
      1. 用trt.Runtime加载引擎,获取ICudaEngine实例。
      2. 遍历引擎的所有层,提取层类型、张量形状、权重数据等关键信息。
      3. 使用onnx.helper模块创建ONNX的Graph、Node、Tensor对象,组装后调用onnx.save()保存为.onnx文件。

方案二:借助ONNX Runtime中转

  • 将TensorRT引擎导入支持TensorRT执行提供者(EP)的ONNX Runtime,再通过ONNX Runtime的API导出模型结构与权重。
    • 局限性:仅适用于结构简单、无特殊自定义层的模型,部分TensorRT专属优化层可能无法被正确解析。

方案三:重新导出ONNX(最优备选)

  • 如果保留了模型的训练代码或原始权重文件,直接重新导出ONNX是最稳妥的方式,能完全避免逆向转换带来的兼容性问题。

内容的提问来源于stack exchange,提问作者CigarLiu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:50:29