0
本文作者: 汪思穎 | 2017-11-15 14:45 |
雷鋒網(wǎng) AI科技評論消息,日前,谷歌正式發(fā)布 TensorFlow Lite 開發(fā)者預(yù)覽版,這是針對移動和嵌入式設(shè)備的輕量級解決方案。TensorFlow Lite 是一種全新的設(shè)計,具有三個重要功能——輕量級(Lightweight)、跨平臺(Cross-platform)、快速(Fast)。
下面是來自 Google Developers Blog 的詳細(xì)信息,雷鋒網(wǎng) AI科技評論編譯如下。
今天,我們正式發(fā)布 TensorFlow Lite 開發(fā)者預(yù)覽版,這是針對移動和嵌入式設(shè)備的輕量級解決方案。TensorFlow 可以在許多平臺上運行,從機架上大量的服務(wù)器到小型的物聯(lián)網(wǎng)設(shè)備,但近幾年,隨著大家使用的機器學(xué)習(xí)模型呈指數(shù)級增長,因此需要將訓(xùn)練模型的平臺擴(kuò)展到移動和嵌入式設(shè)備上。TensorFlow Lite 支持設(shè)備上機器學(xué)習(xí)模型的低時延推理。
TensorFlow Lite 是一種全新的設(shè)計,它支持以下功能:
輕量級(Lightweight):支持機器學(xué)習(xí)模型的推理在較小二進(jìn)制數(shù)下進(jìn)行,能快速初始化/啟動。
跨平臺(Cross-platform):可以在許多不同的平臺上運行,現(xiàn)在支持 Android 和 iOS
快速(Fast):針對移動設(shè)備進(jìn)行了優(yōu)化,包括大大減少了模型加載時間、支持硬件加速。
如今,越來越多的移動設(shè)備中含有專用的定制硬件來更高效地進(jìn)行機器學(xué)習(xí)。TensorFlow Lite 支持 Android 神經(jīng)網(wǎng)絡(luò)API(Android Neural Networks API),大家在使用 TensorFlow Lite 時可以利用這些有用的加速器。
當(dāng)加速器(硬件設(shè)備)不可用時,TensorFlow Lite 會返回到 CPU 來執(zhí)行,這將保證模型仍然可以在一大批設(shè)備上快速運行。
結(jié)構(gòu)
下圖是 TensorFlow Lite 的結(jié)構(gòu)設(shè)計:
模塊如下:
TensorFlow Model: 存儲在硬盤上已經(jīng)訓(xùn)練好的 TensorFlow 模型
TensorFlow Lite Converter: 將模型轉(zhuǎn)換為 TensorFlow Lite 文件格式的程序。
TensorFlow Lite Model File: 基于 FlatBuffers 的模型文件格式,針對速度和大小進(jìn)行了優(yōu)化。
可以將 TensorFlow Lite Model File 部署到 Mobile App ,如上圖中所示:
Java API: 處于 Android App 中 C++ App 上,方便封裝。
C++ API: 加載 TensorFlow Lite Model File,調(diào)用解釋器(Interpreter)。
上面的這兩個庫在 Android 和 iOS 端都可用。
Interpreter:使用一組運算符來執(zhí)行模型。運算符可以選擇,如果不含運算符,只有70KB,加載所有的運算符之后為300KB。比起需要1.5 M(使用一組正規(guī)的操作符)的 TensorFlow Mobile,能使容量大大減小。
在 Android 設(shè)備上,Interpreter 支持 Android神經(jīng)網(wǎng)絡(luò)API,可以用它進(jìn)行硬件加速。如果沒有可用的加速器,則默認(rèn)使用CPU。
開發(fā)人員還可以使用C++ API來自定義 kernel。
模型
TensorFlow Lite 目前支持很多針對移動端訓(xùn)練和優(yōu)化好的模型。
MobileNet:能夠識別1000種不同對象類的視覺模型,為實現(xiàn)移動和嵌入式設(shè)備的高效執(zhí)行而設(shè)計。
Inception v3:圖像識別模型,功能與 MobileNet 相似,它提供更高的精度,但相對來說更大。
Smart Reply: 設(shè)備對話模型,可以即時回復(fù)聊天消息,在 Android Wear 上有使用這一功能。
Inception v3 和 MobileNets 已經(jīng)在 ImageNet 數(shù)據(jù)集上訓(xùn)練了。大家可以利用遷移學(xué)習(xí)來輕松地對自己的圖像數(shù)據(jù)集進(jìn)行再訓(xùn)練。
關(guān)于TensorFlow Mobile
正如大家知道的那樣,TensorFlow 可以通過 TensorFlow Mobile API 對模型進(jìn)行移動和嵌入式部署。展望未來,TensorFlow Lite 應(yīng)該被看作是 TensorFlow Mobile 的升級。隨著一步步的成熟,它將成為在移動和嵌入式設(shè)備上部署模型的推薦解決方案。
TensorFlow Lite 目前是預(yù)覽版,大家仍然可以使用 TensorFlow Mobile。
TensorFlow Lite 的功能有很多,目前仍處于緊鑼密鼓的開發(fā)階段。這次的發(fā)布中,我們特意使用受限平臺,來保證一些最重要的常見模型的性能不受到影響。
我們計劃根據(jù)用戶的需要來考慮未來優(yōu)先擴(kuò)展的功能。我們的開發(fā)目標(biāo)是簡化開發(fā)人員的體驗,并讓模型能部署到一系列移動和嵌入式設(shè)備上。
很高興開發(fā)者也在幫助TensorFlow Lite項目的順利進(jìn)行。我們將會以與TensorFlow項目相同的熱情來支持和啟動TensorFlow Lite社群。歡迎大家來使用TensorFlow Lite。
更多信息請點擊TensorFlow Lite文件頁面
地址:http://tensorflow.org/mobile/tflite
接下來會有持續(xù)更新。
雷鋒網(wǎng) AI科技評論編輯整理。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。