KeyWord
Android , TensorFlow Lite , TF Lite , gesture_classification , 手势识别 , 图像识别 , 机器学习 , TF js Model 转 TF lite Model
背景
这是一篇迟到了两年的文章,真的是拖延症啊,有拖无欠哈哈.最近看了大佬的视频,又激起三分钟热度的中二之情.同时也看到某些教育机构88块售卖TensorFlowLite Android部署教程,还卖了900+份,要坏一下他们的生意才行哈哈哈.闲话到此,入正题.
由于5G尚未普及(相信这个"普及"任重道远),网络延迟严重,虽然现在已经有很多重型的机器框架可以使用,但是在端设备性能还是不能跟云相比,所以有了这个TensorFlow Lite给端设备使用. TensorFlow Lite 是一个精简库,用于在移动设备和嵌入式设备上部署模型, 跟TensorFlow 还是不太一样的(一个核心开源库,可以帮助您开发和训练机器学习模型)
这篇文章也主要是旨在降低国内小伙伴对于TF Lite的学习门槛,Google的文档写得很详细了,同时也重点说一下如何将TF js Model转成 TF lite Model. 所以这次是使用TensorFlow Lite 官方
效果
效果.gif
教程
1. 从Github下载gesture_classification project
2. 生成TF Lite Model
因为这个sample是缺少TF Lite Model的,对!官方sample也缺少Model,不过官方也写了一份guide说怎么由gesture_classification TF js project build一个TF js Model出来,然后再转成TF lite 可用的Model.接下来也是基于这份guide step by step 去展示怎么转化.
2.1 下载gesture_classification的web project
2.2 运行gesture_classification的web project
记得使用支持webCamera的设备去运行,例如MacBookPro
如果run起来有遇到困难的话,可以参考我两年前写的这篇手把手教你在windows跑起TensorFlow Js的posenet demo,哈哈所以说是拖延了两年的文章.
2.3 训练gesture_classification TF Js Model
使用Chrome打开
最后点击DOWNLOAD MODEL按钮即可得到
示例1
示例2
2.4 TensorFlow.js to TensorFlow Lite Model Conversion
接下来我们要把
2.4.1 打开Colab(需翻墙)
打开Colab后,打开笔记本,之后选择Github tab后添加这条link https://github.com/tensorflow/examples/blob/master/lite/examples/gesture_classification/ml/tensorflowjs_to_tflite_colab_notebook.ipynb 之后点击??按钮即可.
新建Colab笔记本
新建笔记本成功后界面
2.4.2 配置configuration文件
输入
配置weights_path_perfix
2.4.3 运行代码脚本
运行代码脚本
2.4.4 上传Tensorflow.js Artifacts
将
上传Tensorflow.js Artifacts
如果遇到
文件没有上传失败,也需要将将文件
Maximum call stack size exceeded.
手动上传文件
2.4.5 运行剩余的代码脚本,并下载TF lite Model
当看到如下图一样,出现
生成Model.tflite
3. Android Studio build project
3.1 导入model.tflite 和 labels.txt 导入项目
将2.4.5生成的
导入文件
3.2 build project
插入手机,点击
引用/参考
- https://colab.research.google.com
- https://github.com/tensorflow/examples
- Google Colaboratory : Import Data, stack size exceeded?