TensorFlow Lite、TensorFlow-TRT 和 TensorRT 之间的主要区别是啥?

Posted

技术标签:

【中文标题】TensorFlow Lite、TensorFlow-TRT 和 TensorRT 之间的主要区别是啥?【英文标题】:What are the main differences between TensorFlowLite, TendorFlow-TRT and TensorRT?TensorFlow Lite、TensorFlow-TRT 和 TensorRT 之间的主要区别是什么? 【发布时间】:2020-09-07 16:34:04 【问题描述】:

我正在使用 Coral 开发板和 Nvidia Jetson TX2。这就是我了解 TensorFlow-Lite、TensorFlow-TRT 和 TensorRT 的方式。 我有一些关于他们的问题:

    在 TensorFlow-TRT 和 TensorRT 之间: 将完全优化/兼容的图与 TensorRT 一起使用时,哪个更快?为什么?

    在 Google Coral 中使用 TFlite 的管道(使用 TensorFlow 1.x 时...)是:

一个。使用 TensorFlow 动物园中可用的模型

b.将模型转换为冻结 (.pb)

c。使用protobuff序列化图

d。转换为 Tflite

e。应用量化(INT8)

f。编译

使用 TensorFlow-TRT 和 TensorRT 时的管道是什么? 有没有什么地方可以找到关于它的好文档?

到目前为止,我认为 TensorRT 更接近 TensorFlow Lite,因为:

TFlite:编译后你会得到一个 .quant.edtpu.tflite 文件,可用于在开发板中进行推理

TensorRT:你最终会得到一个 .plan 文件,以便在开发板中进行推理。

感谢您的回答,如果您能指出比较它们的文档,我们将不胜感激。

【问题讨论】:

【参考方案1】:

TensorRT 是一个非常快速的 CUDA 运行时,仅适用于 GPU。我正在使用 Nvidia Jetson Xavier NX,将 Tensorflow 模型转换为 TensorRT,在 Tensorflow-RT (TRT) 运行时上运行。 TRT 运行时的好处是任何在 TensorRT 上不受支持的操作都将退回到使用 Tensorflow。

尚未尝试过 Tensorflow-Lite,但我将其理解为在“小型设备”上仅用于推理的缩减 TF。它可以支持 GPU,但只有有限的操作,我认为没有 python 绑定(目前)。

【讨论】:

以上是关于TensorFlow Lite、TensorFlow-TRT 和 TensorRT 之间的主要区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

sh 从tensorflow冷冻模型到tensorflow lite

Tensorflow-lite - 从量化模型输出中获取位图

模块“tensorflow._api.v2.lite”没有属性“TFliteConverter”

移动端目标识别(3)——使用TensorFlow Lite将tensorflow模型部署到移动端(ssd)之Running on mobile with TensorFlow Lite (写的很乱,回

tensorflow lite添加自定义操作

为啥 TensorFlow Lite 比桌面版 TensorFlow 慢?