TensorFlow Lite极简入门:构建移动应用程序进行图像分类

CVAIDL 2018-10-30

点击上方关注,All in AI中国

对您自己的数据进行训练

这将是一个实用的端到端指南,介绍如何使用TensorFlow Lite构建移动应用程序,该应用程序根据项目的数据集对图像进行分类。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

此应用程序使用实时相机并立即对图像进行分类。TFLite应用程序比使用TensorFlow Mobile制作的应用程序更小、更快、更准确,因为TFLite专门用于在移动平台上运行神经网络。

我们将使用MobileNet模型来训练我们的网络,这将使应用程序更小。

入门

要求…

  1. Python 3.5或更高版本-python3 -V
  2. Tensorflow 1.9或更高版本- pip3安装- 升级Tensorflow

此外,打开终端并键入:

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

别名python = python3

现在,python3将使用python命令打开。这样可以更容易地通过复制粘贴来实现代码,而无需在输入Python后担心3。

TFLite教程包含以下步骤:

第1步:下载代码文件

让我们首先从tensorflow-for-poets GitHub下载代码。(https://github.com/googlecodelabs/tensorflow-for-poets-2)打开要下载文件夹的命令提示符并键入:

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

这将下载文件并在当前目录中创建一个名为tensorflow-for-poets的新文件夹。

输出

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

下载GitHub文件

仅供参考:下载后,您可以将文件夹的名称更改为项目名称。

信息:该文件夹包含子文件夹

scripts - 包含机器学习代码.py文件。

tf_files - 它将包含输出文件,如models - graph.pb,labels.txt

android - 包含tfmobile和TFlite的Android应用程序项目。

iOS - 包含使用xCode的iOS应用程序项目文件。

第2步:下载数据集

让我们下载一个200MB的公开数据集,其中有5种不同的鲜花可供分类。然后在tf_files文件夹中提取flower_photos.tgz,它看起来像这样:

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

信息- 5种不同的类别文件夹是玫瑰,雏菊,蒲公英,向日葵和郁金香。

第3步:重新制作模型

在“tensorflow-for-poets-2”文件夹中打开命令提示符并键入:

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

输出

这将下载预先训练的冻结图(frozen graph)mobilenet_1.0_244

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

下载图表

并在tf_files文件夹中创建retrained_graph.pb和retrained_labels.txt文件。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

完成的结果

打开Tensorboard

在当前目录中打开另一个命令提示符,并将t​​ensorboard指向summaries_dir:

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

输出

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

打开Tensorboard

现在,您可以在浏览器中打开6006端口以查看结果。

可视化

训练和验证

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

Tensorboard |交叉熵/损失(上)|精度(下)

验证的准确度高于0.90,损失低于0.4。

验证✔️

我在当前文件夹中从Internet上下载了一个随机的rose映像,并使用以下命令运行label_image。py脚本,用于使用图文件检测图像。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

输出

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

结果为new_rose图像提供99%的准确性。

第4步:将模型转换为TFLite格式

Toco用于将文件转换为.lite格式。有关toco参数的更多详细信息,请使用toco --help

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

这将在tf_files目录中创建optimize_graph.lite文件。

信息:使用toco -h获取更多详细信息

--input_file已更新为--graph_def_file

--input_format不需要mobile_net图。

从这里开始,本教程分为两个部分:iOS和Android。

iOS

第5步:安装Xcode Studio和测试运行

下载Xcode

使用您的Apple ID登录- Apple Developer使用您现在注册或注册的Apple ID。developer.apple.com

安装Xcode

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

安装Cocoapods

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

安装TFLite Cocoapod

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

使用Xcode打开项目

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

试运行

按▶️在Xcode中启动模拟器。

第6步:运行您的应用程序

首先将训练过的文件移动到应用程序的assets文件夹中。

替换graph.lite文件。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

然后是thelabels.txt文件。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

现在只需单击▶️即可打开模拟器并放下图像以查看结果。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

祝贺!现在,您可以在下一个价值数十亿美元的应用程序中应用相同的方法,让医生在世界农村地区无需昂贵的设备即可更快更好地工作。

Android

第5步:设置Android Studio和测试运行

有两种方法可以做到这一点:Android Studio和Bazel。我会使用AS,因为更多的人都熟悉它。

如果您尚未安装它,请转到此处并安装它:

下载Android Studio和SDK工具| Android开发者下载官方Android IDE和开发人员工具,为Android手机,平板电脑,可穿戴设备,电视和...构建应用程序developer.android.com

试运行

为了确保Android Studio中的一切正常,让我们进行一次测试运行。

打开Android Studio并选择“打开现有的Android Studio项目”。

转到android / tfmobile目录。

如果一切正常,请单击BUILD> BUILD APK按钮。

单击“定位”打开包含app-debug.apk文件的文件夹。

注意:在安装应用程序之前,请打开手机中的开发者模式。

第6步:运行您的应用程序

首先将训练过的文件移动到应用程序的assets文件夹中。

替换graph.lite文件。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

然后是labels.txt文件。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

现在单击工具>> Build .apk文件。

安装应用程序

在您的手机上安装.apk文件,并查看重新训练的神经网络检测对象。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

祝贺!现在,您可以在下一个价值数十亿美元的应用程序中应用相同的方法,让医生在世界农村地区无需昂贵设备的情况下更快更好地工作。

TensorFlow Lite极简入门:构建移动应用程序进行图像分类

相关推荐