首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对安卓系统进行TensorFlow推理,例如对图像进行分类?

如何对安卓系统进行TensorFlow推理,例如对图像进行分类?
EN

Stack Overflow用户
提问于 2017-02-28 23:47:08
回答 1查看 1.7K关注 0票数 3

安卓系统支持TensorFlow吗?TensorFlow的安卓示例可以移植到运行安卓的东西上吗?如果是的话,最简单的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-03-01 00:03:48

简单地说:是的,你确实可以在运行安卓设备的嵌入式设备上运行TensorFlow,比如Raspberry 3。我们已经将TensorFlow图像分类应用程序移植到了安卓设备上。它可以在:https://github.com/androidthings/sample-tensorflow-imageclassifier上找到。

长话短说:为了运行TensorFlow,您首先需要构建模型图,并针对大型输入数据集运行培训。一旦完成,您就可以根据经过训练的模型进行推理,从而做出明智的决策。训练的第一部分是资源紧张和密集,通常是事先完成的,而推理部分相对较轻。这是已经移植到运行Android设备的推断部分。

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

  • 首先,将TensorFlow Android推理库文件添加到您的项目中:Tensorflow-调试器。
  • 接下来,在应用程序的build.gradle文件中添加一个依赖项,如下所示:编译(名称:‘Tensorflow-debug’,ext:'aar')

要利用TensorFlow Android推理库,您可以实例化一个TensorFlow实例,以便公开以下方法:

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

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

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42520805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档