TensorRT 从框架中导入训练模型的主要方式是通过ONNX交换格式。 TensorRT 附带一个 ONNX 解析
器库来帮助导入模型。在可能的情况下,解析器向后兼容 opset 7; ONNX模型 Opset 版本转换器可以帮助解决不兼容问题。
GitHub 版本可能支持比 TensorRT 附带的版本更高的 opset,请参阅 ONNX-TensorRT运算符支持矩阵运算符支持矩阵,以获取有关受支持的 opset 和运算符的最新信息。
TensorRT 的 ONNX 算子支持列表可在此处找到。
PyTorch 原生支持ONNX 导出。对于 TensorFlow,推荐的方法是 tf2onnx。
将模型导出到 ONNX 后的第一步是使用Polygraphy运行常量折叠。这通常可以解决 ONNX 解析器中的TensorRT 转换问题,并且通常可以简化工作流程。有关详细信息,请参阅此示例。在某些情况下,可能需要进一步修改 ONNX 模型,例如,用插件替换子图或根据其他操作重新实现不受支持的操作。为了简化此过程,您可以使用ONNX-GraphSurgeon。