TensorRT Provider 与TensorRT Native的对比

TensorRT Provider 的优势为:

TensorRT EP 可以实现与本机 TensorRT 的性能等价使用 TensorRT EP 的好处之一是,如果模型中存在不受支持的 TensorRT 操作,就可以运行不能在本机 TensorRT 中运行的模型。这些操作将自动退回到其他 EP,如 OnnxRuntime 中的 CUDA 或 CPU。

ONNX Runtime介绍
ONNX Runtime 是将 ONNX 模型部署到生产环境的跨平台高性能运行引擎,主要对模型图应用了大量的图优化,然后基于可用的特定于硬件的加速器将其划分为子图(并行处理)。

通过其可扩展的Execution Providers (EP) 框架与不同的硬件加速库协同工作,以在硬件平台上以最佳方式执行 ONNX 模型。

该接口使 AP 应用程序开发人员能够灵活地在云和边缘的不同环境中部署他们的 ONNX 模型,并通过利用平台的计算能力来优化执行。

为了使用 TensorRT Execution Provider,你需要安装 TensorRT 和 ONNX Runtime,然后使用 ONNX Runtime API 创建一个 InferenceSession,并将 TensorRT Execution Provider 作为参数传递给它。然后你就可以像使用 ONNX Runtime 的其他 Execution Provider 一样,使用 ONNX Runtime API 进行推理。

使用ORT(OnnxRuntime)的Provider可以实现不支持的算子的灵活处理,TensorRT中没有的算子自动在ORT中实现。

例如:superpoint+lightglue模型的加速部署使用如果使用trtexec转换模型的时候出现:算子(Operator,简称Op)不支持的情况

这种情况下要是采用TensorRT Provider 进行处理的话的优势就在于MultiHeadAttention在运行时候TensorRT Native中不能使用,但是TensorRT 可以运行时候MultiHeadAttention算子转到ORT中运行或者CUDA中运行,算是一种灵活的解决方案

你可能感兴趣的:(人工智能)