使用Tensorflow Lite在Android上构建自定义机器学习模型

  • 2019 年 10 月 4 日
  • 筆記

机器学习有许多用处,并提供了一个充满未知性的世界。然而,有些人可能会退缩,认为它太难了,其实并不是这样的。使用TensorFlow Lite并不一定都是机器学习专家。下面给大家分享我是如何开始在Android上构建自己的定制机器学习模型的。

移动应用市场正在快速发展。前任苹果CEO乔布斯说出“万物皆有应用”这句话时,人们并没有把它当回事。然而,从移动应用的消费方式来看,你不仅有一个适用于所有东西的应用,你的应用往往还会跟随最新的趋势发展。

还记得钢铁侠的助手贾维斯吗?在为数字时代开发Android移动应用程序时,机器学习是不可多得的机会。现在能够使用神经网络为你提供服务的只有像苹果sir一样的语音助手。随着机器学习的发展,当你在现实生活中有一个和贾维斯非常相似的私人助理时,你并不会感到惊讶。机器学习将把用户的体验提升到了另一个层次。

虽然你听到了许多关于机器学习的好处,但是在移动应用程序开发和机器学习之间仍然存在一些差距。Tensorflow Lite旨在缩小这一差距,使机器学习更容易融入其中。更重要的是,你甚至不需要成为Tensorflow Lite或机器学习领域的专家,就可以把它们运用到你开发的Android或iOS应用程序中。

TensorFlow的工作原理

Firebase提供的全新的ML工具包包含一系列API,是把机器学习运用到应用程序开发的一种有效的方法。这些API的范围包括从人脸到图像的一系列检测,而有些API也可以在离线模式下访问。

然而,ML工具包并不能进行特异性鉴别,它无法帮助应用程序识别同一产品的不同类型。所以ML kit和TensorFlow Lite的组合更适用于你的移动应用程序开发工作。使用这种组合是为了简化应用程序的开发过程,完善应用程序的功能。

如何使用TensorFlow Lite

要使用TensorFlow lite定制Android应用程序解决方案,您需要遵循以下几个步骤。

步骤 1

在这里,您要考虑应用程序的先决条件,并确保它们得到了处理。除了TensorFlow Lite,还应该确保安装了PILLOW来运行应用程序。

pip安装-升级“tensorflow==1.7。pip install PILLOW

您甚至可以使用GitHub代码并复制它,以防安装无法使用上面提到的代码工作。

步骤2

下一步是收集数据。例如,你想把电视根据品牌和大小进行分类,那么您需要一个培训模型来帮助将数据传输到应用程序。您需要从可靠的源下载数据集,确保你有足够的培训数据,这将帮助你做出有意义的分析。

步骤3

这一步是将可用数据转换为应用程序可以连接的高质量图像的步骤。你需要采用特定的体系结构模型,把数据转换为可以输入应用程序的图像。

两种最流行的架构包括MobileNet_2.0和Inception V3。

使用GitHub上的两种体系结构,您可以很容易地获得重新培训现有模型所需的脚本。您可以将模型转换为可以使用这些代码连接的图像。

步骤4

这一步是使用tflite_convert命令将模型转换为TensorFlow lite。转换器可以将你在前面步骤中获得的TensorFlow图优化为移动版本。除此之外,你还将获得一些存储在txt文件中的标签。

使用TOCO转换器,你不需要直接从源构建Tensorflow的映像。Firebase控制台直接帮助你优化文件。

步骤5

这是将经过训练的模型合并到机器学习程序中的步骤。你需要从Android Studio中输入Android文件夹来构建项目。在这里,你需要输入图像分类器,并使用TensorFlow Lite优化文件更新类中的两个字段。这两个字段是MODEL_PATH和LABEL_PATH。

一旦完全遵循了这些步骤,您所训练的模型就可以学习了,您的应用程序也可以按照这些步骤工作,根据设备的大小隔离特定的一组设备。

机器学习确实让移动应用程序开发看到了未来,如果你想改善Android应用程序的用户体验,那么TensorFlow Lite是你最好的选择。