如果您希望能有一种简单、高效且灵活的方式把 TensorFlow 模型集成到 Flutter 应用里,那请您一定不要错过我们今天介绍的这个全新插件 tflite_flutter。这个插件的开发者是 Google Summer of Code(GSoC) 的一名实习生 Amish Garg,本文来自他在 Medium 上的一篇文章《在 Flutter 中使用 TensorFlow Lite 插件实现文字分类》。
tflite_flutter 插件的核心特性:
- 它提供了与 TFLite Java 和 Swift API 相似的 Dart API,所以其灵活性和在这些平台上的效果是完全一样的
- 通过 dart:ffi 直接与 TensorFlow Lite C API 相绑定,所以它比其它平台集成方式更加高效。
- 无需编写特定平台的代码。
- 通过 NNAPI 提供加速支持,在 Android 上使用 GPU Delegate,在 iOS 上使用 Metal Delegate。
本文中,我们将使用 tflite_flutter 构建一个 文字分类 Flutter 应用 带您体验 tflite_flutter 插件,首先从新建一个 Flutter 项目 text_classification_app
开始。
初始化配置
Linux 和 Mac 用户
将 install.sh
拷贝到您应用的根目录,然后在根目录执行 sh install.sh
,本例中就是目录 text_classification_app/
。
Windows 用户
将 install.bat 文件拷贝到应用根目录,并在根目录运行批处理文件 install.bat
,本例中就是目录 text_classification_app/
。
它会自动从 release assets 下载最新的二进制资源,然后把它放到指定的目录下。
请点击到 README 文件里查看更多 关于初始配置的信息。
获取插件
在 pubspec.yaml
添加 tflite_flutter: ^<latest_version>
(详情)。
下载模型
要在移动端上运行 TensorFlow 训练模型,我们需要使用 .tflite
格式。如果需要了解如何将 TensorFlow 训练的模型转换为 .tflite
格式,请参阅官方指南。
这里我们准备使用 TensorFlow 官方站点上预训练的文字分类模型,可从这里下载。
该预训练的模型可以预测当前段落的情感是积极还是消极。它是基于来自 Mass 等人的 Large Movie Review Dataset v1.0 数据集进行训练的。数据集由基于 IMDB 电影评论所标记的积极或消极标签组成,点击查看更多信息。
将 text_classification.tflite
和 text_classification_vocab.txt
文件拷贝到 text_classification_app/assets/ 目录下。
在 pubspec.yaml
文件中添加 assets/
。
assets:
- assets/
现在万事俱备,我们可以开始写代码了。
文章来源: 博客园
- 还没有人评论,欢迎说说您的想法!