如何在图像分类上快速运行 tflite 模型

Posted

技术标签:

【中文标题】如何在图像分类上快速运行 tflite 模型【英文标题】:How to run tflite model not on image classification swift 【发布时间】:2020-04-30 17:23:25 【问题描述】:

我已经看过几个关于如何运行 tflite 模型进行图像分类的教程,但不知道如何为任何其他应用程序执行此操作...例如,我有一个模型,它以表单的形式接收音频数据(16000, 1) 数组。如何将此数组传递给 tflite 模型?

【问题讨论】:

【参考方案1】:

Tflite 使用字节缓冲区。

您必须将所有输入转换为字节缓冲区,例如

let len = 16000
var audio = [Float](repeating: Float(1.0), count: len)
let audioBuffer = Data(bytes: &audio, count: audio.count * MemoryLayout<Float>.stride)
try interpreter.copy(audioBuffer, toInputAt: 0)

【讨论】:

【参考方案2】:

TensorFlow Lite 提供了我们在移动、嵌入式和物联网设备上转换和运行TensorFlow models 所需的所有工具。

要将modelTensorFlow Lite 一起使用,我们必须将完整的TensorFlow model 转换为TensorFlow Lite 格式。我们无法使用TensorFlow Lite 创建或训练模型。所以我们必须从一个普通的TensorFlow model开始,然后是convert the model。

查看可在应用程序中使用的预训练模型的完整列表:in Models。

如果我们设计并训练了自己的 TensorFlow 模型,或者我们训练了从其他来源获得的模型,我们必须将其转换为 TensorFlow Lite 格式。

参考:TensorFlow Lite

【讨论】:

感谢您的回复。我能够加载模型,但是,我不知道如何使用我加载的模型。如何传入浮点数数组? 你能提供更多关于你正在使用的模型的细节吗?您是否已将模型转换为 TensorFlow Lite 格式? 是的,它是一个将音频数据作为浮点数(在原始问题中定义)并据此进行预测的模型。 您是否将该模型转换为 TensorFlow Lite 格式?

以上是关于如何在图像分类上快速运行 tflite 模型的主要内容,如果未能解决你的问题,请参考以下文章

通过 tflite 模型传递单个图像进行图像分类

如何使用tf训练好的模型

Tf Lite 模型图像分类打印标签

如何从 tflite 模型输出形状 [1, 28, 28,1] 的数组作为 android 中的图像

Zephyr下使用TFLite进行语音识别

使用 toco 进行 tflite 转换中的“尺寸必须匹配”错误