如何将 tflite 文件嵌入到 Android 应用程序中?

How do you embed a tflite file into an Android application?

使用 TFlite 文件并将其嵌入实际 Android 应用程序的分步说明是什么?作为参考,这是回归。输入将是一个图像,输出应该是一个数字。我已经看过 TensorFlow 文档,但他们没有解释如何从头开始。

对于 Android 应用程序,这里是使用 TF Lite 进行分类的快速示例。您可以遵循与此处类似的结构:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/examples/android/app/src/main/java/org/tensorflow/demo/TFLiteImageClassifier.java

在 Android 中使用 TFLite 需要以下步骤:

  1. 将依赖项 'org.tensorflow:tensorflow-lite:+' 添加到您的 build.gradle
  2. 确保不会使用 build.gradle
  3. 中的 aaptOptions 压缩 .tflite 类型的文件
  4. 通过将模型 .tflite 文件放入您的应用资产文件夹中使其可用(要创建一个,请右键单击 res 文件夹,单击 res > New > Folder > Assets Folder)
  5. 在将处理推理的 java class 中,导入 tflite 解释器
  6. 将模型文件作为 MappedByteBuffer 加载到您的 java class
  7. 将 MappedByteBuffer 加载到您的 TFLite 解释器中
  8. 将输入图像转换为 float ByteBuffer
  9. 定义匹配输出层大小的输出数组
  10. 使用加载的 TFLite 解释器通过模型转发输入 ByteBuffer,并将预测写入输出数组。

如果有什么不清楚的地方,请告诉我!