文 / 魏巍,TensorFlow技术推广工程师
中国移动 app 开发者的数量和能力众所周知,不仅发布的 app 数量巨大,而且质量也很高,即便在竞争激烈的全球市场上也有众多由中国开发者开发的优秀 app 脱颖而出,在 Google Play 等应用商店的 top 榜单上占据众多席位。
从技术层面来看,中国的 app 开发者也逐步在往智能化发展,将更多的人工智能和机器学习的能力结合到 app 中;同时由于手机和 IoT 设备的处理器越来越强大,而且有更多的机器学习加速器如 DSP,NPU 被植入到手机里,让 app 可以在端侧直接运行机器学习模型。
TensorFlow Lite 就是为了在设备端侧运行机器学习模型而诞生,关于 TensorFlow Lite 的简介,大家可以参考之前我们发布的这篇文章。目前海内外有成千上万个 app 在使用 TFLite,有超过 40 亿台设备上在运行 TFLite。
为了帮助大家更好的学习和掌握 TensorFlow Lite,我们制作了一系列八集视频教程,并配合相应的 codelab 实操环节。
由 Google 开发技术推广工程师魏巍带领大家,由浅入深的了解 TensorFlow Lite。该系列将从 12 月 9 日起至年底,每周在 Bilibili Google中国 账号更新发布,请记得收藏学习,紧跟学习进度哟。
Google中国(或点击阅读原文)
https://www.bilibili.com/video/BV1EK4y177Sn/
第一部分
首先是入门系列,无需机器学习背景,只需要一定的 app 开发经验和 Python 经验。
第一集视频当中我们将快速介绍为什么需要关注端侧机器学习,TFLite 如何很好的解决端侧机器学习问题,以及 TFLite 的整体概况。
在了解 TFLite 的整体情况以后,我们将在第二集中使用 Model Maker 这一简单易用的工具来完成一个简单的迁移学习任务,训练一个识别不同花的种类的模型,并将模型导入一个安卓 app 当中从而完成一个完整的 app。
Model Maker 文档
https://tensorflow.google.cn/lite/guide/model_maker
Codelab
https://codelabs.developers.google.com/codelabs/recognize-flowers-with-tensorflow-on-android/#0
在第三集中我们介绍使用 TFLite 的常见场景(图片分类、目标检测、图片分割、风格迁移、情感分析和文本问答),以及如何获得预训练的 TFLite 模型:
在第四集中我们将通过使用 TFLite Task API 只需要 5 行以内的代码就可完成常见机器学习任务的模型推理:
演示代码
https://github.com/tensorflow/tflite-support/tree/master/tensorflow_lite_support/examples/task/vision/desktop
第二部分
从第五集开始我们进入第二部分内容的学习,这部分的内容更加深入,需要一定的机器学习背景,比如我们会假设你已经知道什么是 training 和 inference。如果你没有相关的背景,建议先去学习 TensorFlow Core 的相关内容以后再回来继续学习下面的内容。
第五集我们将讲解 TFLite 的各个组件:转化器,解释执行器,算子以及硬件加速器接口,并简单介绍 benckmark 性能测试工具:
在第六集中我们将介绍 TF Objection Detection API 。TF Object Detection API 是 TensorFlow 庞大生态系统中的一个重要工具,我们可以用它来训练目标检测模型,再加训练好的模型导出/转化为 TFLite 模型。我们将在这一集中具体展示如何使用 TF Objection Detection API 来训练一个模型来检测橡胶小黄鸭:
Codelab: https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/eager_few_shot_od_training_tflite.ipynb
第七集中我们将介绍模型优化工具包中包含的多个模型优化工具,比如量化,剪枝和权重聚集。使用模型优化工具包我们可以大大提高模型的性能,减小模型的大小:
最后一集中我们将介绍 TFLite delegates。TFLite delegates 是 TFLite 针对手机上各种硬件加速器的接口,使用 delegate 可以让你的模型跑在诸如 GPU/DSP/NPU 上,加快模型运行速度,降低功耗。同时我们还将介绍如何创建一个新的 delegate:
我们希望这个系列的视频教程能够引起大家对 TFLite 的兴趣,帮大家入门 TFLite,从而开发更酷更有意思的 app。如果大家对我们的视频有反馈,欢迎大家留言和评论,我们也会根据大家的反馈改进后续视频的内容。谢谢大家!
此外,我们已经在中国建立了 TFLite 特别兴趣小组,如果您有兴趣加入兴趣小组微信群请扫下面的二维码,如果过期或者群满请添加 ’hustwindmaple’ 手工拉入:
— 推荐阅读 —
了解更多请点击 “阅读原文” 访问系列视频。
分享 💬 点赞 👍 在看 ❤️
以“三连”行动支持优质内容!