searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

详解如何在Android上通过TFLite实现图像分类功能

2023-10-27 09:40:28
58
0

Tensorflow Lite 是 TensorFlow 针对移动和嵌入式设备的轻量级解决方案。它允许您在低延迟的移动设备上运行机器学习模型,因此可以利用它进行分类,回归或获取你想要的任何东西,而无需与服务器交互。目前,TensorFlow Lite 为 Android 和 iOS 设备提供了 C ++ API,并且为 Android 开发人员提供了 java Wrapper。在本文中,我将重点介绍如何在 Android 应用中使用它。

架构图:

 

TensorFlow Lite 包含一个运行时环境,我们可以在其上运行预先存在的模型,并且它还提供了一套工具,可以为移动和嵌入式设备准备模型。其目前尚未支持训练模型。我们可以在高性能的机器上训练模型,例如支持常见的图像分类模型,包括 Inception 和 MobileNets。然后将该模型转换为 TFLITE 格式,最终将其加载到解释器中。从而实现与Android端应用的整合。

通过TFLite与MobileNet模型的结合,移动设备上的多种图像场景可由此得到针对性的设计和优化,其中包括对象检测,分类,面部属性检测和地标识别功能。MobileNet 有许多变种,在此站点托管了 TensorFlow Lite 的训练模型。你会注意到每个文件都是一个包含两个文件的 zip 包:一个 labels.txt 文件,其中包含与模型相关的标签;一个 tflite 文件,其中包含可以与 TensorFlow Lite 一起使用的模型版本。

要构建使用 TensorFlow Lite 的 Android 应用程序,首先需要将 tensorflow-lite 库添加到您的应用程序中。这可以通过将以下行添到 build gradle 文件的依赖项部分来完成:完成此操作后,你可以导入 TensorFlow Lite 解释器。解释器通过为其提供一组输入来加载模型并允许你运行它,最终TensorFlow Lite 将执行模型并输出结果。

实践的第一步是要创建一个 Interpreter 实例,然后使用 MappedByteBuffer加载它。然后,要对图像进行分类,我们只需要在 Interpeter 上调用 run 方法,并将图像数据和标签数组传递给它,通过模型来为我们得到最终的结果。并将结果输出为tflite文件,通过在Android端项目导入该文件,来达成最终的目标。

0条评论
0 / 1000
l****n
8文章数
0粉丝数
l****n
8 文章 | 0 粉丝
原创

详解如何在Android上通过TFLite实现图像分类功能

2023-10-27 09:40:28
58
0

Tensorflow Lite 是 TensorFlow 针对移动和嵌入式设备的轻量级解决方案。它允许您在低延迟的移动设备上运行机器学习模型,因此可以利用它进行分类,回归或获取你想要的任何东西,而无需与服务器交互。目前,TensorFlow Lite 为 Android 和 iOS 设备提供了 C ++ API,并且为 Android 开发人员提供了 java Wrapper。在本文中,我将重点介绍如何在 Android 应用中使用它。

架构图:

 

TensorFlow Lite 包含一个运行时环境,我们可以在其上运行预先存在的模型,并且它还提供了一套工具,可以为移动和嵌入式设备准备模型。其目前尚未支持训练模型。我们可以在高性能的机器上训练模型,例如支持常见的图像分类模型,包括 Inception 和 MobileNets。然后将该模型转换为 TFLITE 格式,最终将其加载到解释器中。从而实现与Android端应用的整合。

通过TFLite与MobileNet模型的结合,移动设备上的多种图像场景可由此得到针对性的设计和优化,其中包括对象检测,分类,面部属性检测和地标识别功能。MobileNet 有许多变种,在此站点托管了 TensorFlow Lite 的训练模型。你会注意到每个文件都是一个包含两个文件的 zip 包:一个 labels.txt 文件,其中包含与模型相关的标签;一个 tflite 文件,其中包含可以与 TensorFlow Lite 一起使用的模型版本。

要构建使用 TensorFlow Lite 的 Android 应用程序,首先需要将 tensorflow-lite 库添加到您的应用程序中。这可以通过将以下行添到 build gradle 文件的依赖项部分来完成:完成此操作后,你可以导入 TensorFlow Lite 解释器。解释器通过为其提供一组输入来加载模型并允许你运行它,最终TensorFlow Lite 将执行模型并输出结果。

实践的第一步是要创建一个 Interpreter 实例,然后使用 MappedByteBuffer加载它。然后,要对图像进行分类,我们只需要在 Interpeter 上调用 run 方法,并将图像数据和标签数组传递给它,通过模型来为我们得到最终的结果。并将结果输出为tflite文件,通过在Android端项目导入该文件,来达成最终的目标。

文章来自个人专栏
行业动态
8 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0