gpt4 book ai didi

android - 如何在 Android Things 上运行 TensorFlow Inference,例如对图像进行分类?

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:48 24 4
gpt4 key购买 nike

Android Things 是否支持 TensorFlow?可以移植 TensorFlow Android 示例以在 Android Things 上运行吗?如果可以,最简单的方法是什么?

最佳答案

简短的回答:是的,您确实可以在运行 Android Things 的嵌入式设备(例如 Raspberry Pi 3)上运行 TensorFlow。我们已将 TensorFlow 图像分类应用程序移植到 Android Things。它位于:https://github.com/androidthings/sample-tensorflow-imageclassifier .

长答案:为了运行 TensorFlow,您首先需要构建模型图并针对大型输入数据集运行训练。一旦完成,您就可以根据经过训练的模型运行推理来做出明智的决策。训练的第一部分是资源匮乏和密集的,通常是事先完成的,而推理部分相对较轻。它是推理部分,已移植到运行 Android Things 的设备上运行。

下面总结了将 TensorFlow 集成到您的 Android Things 项目中时需要做的事情:

  • 首先,将 TensorFlow Android Inference 库文件添加到您的项目中:Tensorflow-Android-Inference-alpha-debug.aar

  • 接下来,在您应用的 build.gradle 文件中添加依赖项,如下所示:compile(name: 'Tensorflow-Android-Inference-alpha-debug', ext: 'aar')

要使用 TensorFlow Android 推理库,您需要实例化一个 org.tensorflow.contrib.android.TensorFlowInferenceInterface 实例以公开以下方法:

  • initializeTensorFlow:使用模型图作为输入初始化 TensorFlow 对象
  • fillNodeFloat:将输入数据复制到 TensorFlow 输入数组中
  • runInference:运行推理并将结果保存在 TensorFlow 输出数组中
  • readNodeFloat:从 TensorFlow 输出数组中读取并保存到您自己的数组中

查看图像分类器示例的 TensorFlowImageClassifier.java 中的实现,了解如何将输入传递给 TensorFlow、运行推理,然后从 TensorFlow 中提取输出标签。例如,在我们的图像分类示例中,当显示狗的图像时,我们的应用可以检测出什么品种的狗。

示例中的模型图是使用 Google Inception V3 TensorFlow 模型构建的,训练集包含来自 ImageNet 的 120 万张图像。如果您想构建自己的模型图,请务必在分类器实现中相应地更新模型文件、标签文件和输入/输出名称。

简而言之,上述使用 TensorFlow Android Inference 库作为 gradle 依赖项的方法提供了一种快速简便的方法,可以将 TensorFlow 核心功能添加到任何 Android 项目中,甚至是复杂的项目,例如 the TensorFlow Android samples。具有 native 代码并需要 NDK 集成。这种方法还将主机平台扩展到那些目前没有完全支持 Bazel 的平台,例如 Windows。

关于android - 如何在 Android Things 上运行 TensorFlow Inference,例如对图像进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42520805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com