- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
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 实例以公开以下方法:
查看图像分类器示例的 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/
我是一名优秀的程序员,十分优秀!