Tensorflow Lite 笔记(1)

写在前面:

2018年Google正式发布Tensorflow Lite1.0,已经比苹果的CoreML晚了将近一年。tflite和CoreML的发布可以使全球99.9%的手机在本地运行人工智能算法,在AI芯片强势支持下,相信在2019年手机端的人工智能算法会进一步融入到手机app中。

一、概述

Google中国开发者中心:https://tensorflow.google.cn/lite/

官方解释:TensorFlow Lite is the official solution for running machine learning models on mobile and embedded devices. It enables on‑device machine learning inference with low latency and a small binary size on Android, iOS, and other operating systems.

Google没有仅仅限制在mobile上,更是拓展到了embedded devices。lite聚焦在inference侧,支持量化转换,也可以通过tf-coreml来支持iOS的coreML开发。

PS.AI芯片的支持,官方支持的版本呢是 Android 8.1 (API level 27) and higher.

二、使用步骤

Tensorflow Lite 笔记(1)_第1张图片

上图中,我们可以完整的看出整个使用流程,在放到手机APP之前,需要三大步骤:

1. Choose a model

可以下载别人已经训练好的model,也可以自己训练一个网络model。如果需要量化模型的话,前面描述的两种方式在google都有相应的方案:Post-training quantization 和 Quantization-aware training。(直接量化权重和在训练中量化)直观感觉肯定第二种方案的准确率会高些。

2. Convert the model format

Tensorflow Lite 笔记(1)_第2张图片

谈到模型格式转换,大家可能有疑问,都是tensorflow为什么要进行变换格式。我们通过上图可以直观的看到,TensorFlow聚焦在训练段,在inference端有存在各个不同的平台,这些平台可以分布在各个维度,特别是还有苹果的设备。所以google从大方向分了四类,Tensorflow Lite只是其中一个方向,是把 .pb or .pbtxt tf.GraphDef 文件转换为.tflite。

3. Use the TensorFlow Lite model for inference in a mobile app

在上面两个图中,可以看到google官方是支持Android、iOS和Raspberry Pi三种不同系统的设备。Google肯定首先支持自己的系统Android,应该是无缝使用。

对于iOS,可以选择.tflite的方式,也可以选择转换为苹果自己的coreML的格式来使用。Converter:https://github.com/tf-coreml/tf-coreml

对于Rasberry Pi,从Goolge开发者大会的演示来看,会推他们的Android Things + TensorFlow Lite的方式,但是由于现在AI芯片只是在手机上支持的多,可能这个支持是为了给以后AIoT的发展留个引子。

 

 

你可能感兴趣的:(深度学习)