一、背景介紹
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中識別的具體細節和配置,參考官方文檔,很詳細。