Tensorflow Lite之Android实践

一、背景介绍

11月15日,谷歌终于发布了TensorFlow Lite的开发者预览版本,这是一款 TensorFlow 用于移动设备和嵌入式设备的轻量级解决方案,允许设备端的机器学习模型的低延迟推断。

TensorFlow Lite具有的特点如下:

(1)轻量级:允许小 binary size 和快速初始化/启动的设备端机器学习模型进行推断。

(2)跨平台:运行时的设计使其可以在不同的平台上运行,如目前支持的android和 iOS。

(3)快速:专为移动设备进行优化,包括大幅提升模型加载时间,支持硬件加速。

github链接如下:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite

二、环境准备

接下来我们来一起看看官方提供的Android集成TensorFlow Lite的示例。当然首先你的mac已经安装了AndroidStudio 3。

请点击此处输入图片描述

(1)确保Android SDK 的版本号高于26,NDK的版本号高于14 ,如果没有安装,在打开Studio的时候按照如下步骤安装相应版本。

请点击此处输入图片描述

选择右下角的Configure。

(2)然后选择SDK Manager,下载相应的sdk。

请点击此处输入图片描述

三、编译、运行

在https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite下载代码后,在AndroidStudio中导入官方提供的demo,位于tensorflow/tensorflow-master/tensorflow/contrib/lite/java目录下。

(1)如果发现如下问题,是由于没有安装相应的sdk。

请点击此处输入图片描述

在SDK Manager中切换到SDK Tools下,安装相应的sdk。

请点击此处输入图片描述

请点击此处输入图片描述

(2)下载TensorFlow Lite 模型和标签数据。

官方提供的下载地址

​https://storage.googleapis.com/download.tensorflow.org/models/tflite/mobilenet_v1_224_android_quant_2017_11_08.zip

由于很多人无法访问,原因你懂得,小编废了九牛二虎之力好不容易下载到,目前上传到我的百度云,有需要的可以关注公众号后回复“Tensorflow”,即可下载。

(3) 下载完成解压mobilenet_v1_224_android_quant_2017_11_08.zip文件得到一个mobilenet_v1_224.tflite和labes.txt文件,如下图,把这两个文件复制到assets文件夹下。

请点击此处输入图片描述

请点击此处输入图片描述

(4)build demo工程,电脑连接上真机,然后run,在手机上会安装app,自动打开相机,此时对准一个物体,会自动识别并给出识别的准确率。

请点击此处输入图片描述

请点击此处输入图片描述

使用开源模型mobilenets,或者自定义数据集或自定义模型模型预测物体的属性,非常神奇,不同角度预测的准确率也有偏差,如上两张图。

四、总结

目前TensorFlow Lite还是预览版,相信不久Google会发布正式版,给我们带来更大的惊喜。demo中识别的具体细节和配置,参考官方文档,很详细。

猜你喜欢

转载自blog.csdn.net/wu__di/article/details/78570303