tensorflow - TensorFlowLite、TendorFlow-TRT 和 TensorRT 之间的主要区别是什么?
问题描述
我正在使用 Coral 开发板和 Nvidia Jetson TX2。这就是我了解 TensorFlow-Lite、TensorFlow-TRT 和 TensorRT 的方式。我对他们有一些疑问:
在 TensorFlow-TRT 和 TensorRT 之间:当使用完全优化/兼容的图和 TensorRT 时,哪个更快,为什么?
在 Google Coral 中使用 TFlite 的管道(使用 TensorFlow 1.x 时...)是:
一个。使用 TensorFlow 动物园中可用的模型
湾。将模型转换为冻结 (.pb)
C。使用 protobuff 序列化图
d。转换为 Tflite
e. 应用量化 (INT8)
F。编译
使用 TensorFlow-TRT 和 TensorRT 时的管道是什么?有没有什么地方可以找到关于它的好文档?
到目前为止,我认为 TensorRT 更接近 TensorFlow Lite,因为:
TFlite:编译后你会得到一个 .quant.edtpu.tflite 文件,可以用来在开发板中进行推理
TensorRT:你最终会得到一个 .plan 文件来在开发板中进行推理。
感谢您的回答,如果您能指出比较它们的文档,将不胜感激。
解决方案
TensorRT 是一个非常快速的 CUDA 运行时,仅适用于 GPU。我正在使用 Nvidia Jetson Xavier NX,将 Tensorflow 模型转换为 TensorRT,在 Tensorflow-RT (TRT) 运行时上运行。TRT 运行时的好处是任何在 TensorRT 上不受支持的操作都将退回到使用 Tensorflow。
没有尝试过 Tensorflow-Lite,但我将其理解为“小型设备”上仅用于推理的缩减 TF。它可以支持 GPU,但只能支持有限的操作,我认为(目前)没有 python 绑定。
推荐阅读
- python - 在另一个窗口上嵌入使用 QtDesigner 创建的弹出窗口
- visual-studio-code - LiveServer 显示空白屏幕
- api - 空手道:如何在示例测试数据中发送整数
- android - 从 gradle 中排除约束布局依赖项
- c++ - Visual Studio 字符编码问题
- kotlin - 流的 onCompletion 和 try/finally 有什么区别?
- linux - 如何使用 sed 基于两个列表替换文本文件的字符串
- python - VSCode集成终端不使用Conda环境执行python文件
- r - R非线性最小二乘(nls)函数:使用索引向量作为输入?
- .net - 使用两个条件执行 LINQ 连接