Google 正式發表 TensorFlow Lite 預覽版,針對行動與嵌入裝置的輕量級解決方案

作者 | 發布日期 2017 年 11 月 16 日 22:24 | 分類 Google , 軟體、系統 follow us in feedly

日前,Google 正式發表 TensorFlow Lite 開發者預覽版,這是針對行動和嵌入式裝置的輕量級解決方案。TensorFlow Lite 是一種全新的設計,具有 3 個重要功能──輕量級(Lightweight)、跨平台(Cross-platform)、快速(Fast)。



下面是來自 Google Developers Blog 的詳細消息,編譯如下。

今天,我們正式發表 TensorFlow Lite 開發者預覽版,這是針對行動和嵌入式裝置的輕量級解決方案。TensorFlow 可以在許多平台上執行,從機架上大量的伺服器到小型的物聯網裝置,但近幾年,隨著大家使用的機器學習模型呈指數級增長,因此需要將訓練模型的平台擴展到行動和嵌入式裝置上。TensorFlow Lite 支援裝置上機器學習模型的低時延推理。

TensorFlow Lite 是一種全新的設計,它支援以下功能:

  • 輕量級(Lightweight):支援機器學習模型的推理在較小二進制數下進行,能快速初始化/啟動。
  • 跨平台(Cross-platform):可以在許多不同的平台上執行,現在支援 Android 和 iOS。
  • 快速(Fast):針對行動裝置進行了最佳化,包括大大減少了模型加載時間、支援硬體加速。

如今,越來越多的行動裝置含專用的客製硬體更高效地機器學習。TensorFlow Lite 支援 Android 神經網路 API(Android Neural Networks API),大家在使用 TensorFlow Lite 時可利用這些有用的加速器。

當加速器(硬體裝置)不可用時,TensorFlow Lite 會返回 CPU 執行,這將保證模型仍然可以在一大批裝置快速執行。

結構

下圖是 TensorFlow Lite 的結構設計:

模組如下:

  • TensorFlow Model:儲存在硬碟已訓練好的 TensorFlow 模型。
  • TensorFlow Lite Converter:將模型轉換為 TensorFlow Lite 文件格式的程式。
  • TensorFlow Lite Model File:基於 FlatBuffers 的模型文件格式,針對速度和大小最佳化。

可將 TensorFlow Lite Model File 部署到 Mobile App ,如上圖所示:

  • Java API:處於 Android App 中 C++ App,方便封裝。
  • C++ API:加載 TensorFlow Lite Model File,調用解釋器(Interpreter)。

上面這兩庫在 Android 和 iOS 端都可用。

  • Interpreter:使用一組運算符來執行模型。運算符可以選擇,如果不含運算符,只有 70KB,加載所有運算符之後為 300KB。比起需要 1.5M(使用一組正規操作符)的 TensorFlow Mobile,能使容量大大減小。
  • 在 Android 裝置,Interpreter 支援 Android 神經網路 API,可用它加速硬體。如果沒有可用的加速器,則預設使用 CPU。

開發人員還可以使用 C++ API 自定義 kernel。

模型

TensorFlow Lite 目前支持很多針對行動端訓練和最佳化好的模型。

  • MobileNet:能夠辨識 1,000 種不同對象類的視覺模型,為實現行動和嵌入式裝置的高效執行而設計。
  • Inception v3:圖像辨識模型,功能與 MobileNet 相似,提供更高的精準度,但相對來說體積更大。
  • Smart Reply:設備對話模型,可即時回覆聊天消息,Android Wear 有使用這一功能。

Inception v3 和 MobileNets 已在 ImageNet 數據集訓練了。大家可利用遷移學習來輕鬆地再訓練自己的圖像數據集。

關於 TensorFlow Mobile

正如大家知道的,TensorFlow 可透過 TensorFlow Mobile API 部署行動和嵌入式模型。展望未來,TensorFlow Lite 應該看作 TensorFlow Mobile 的升級。隨著一步步成熟,它將成為行動和嵌入式裝置上部署模型的推薦解決方案。

TensorFlow Lite 目前是預覽版,大家仍然可以使用 TensorFlow Mobile。

TensorFlow Lite 的功能有很多,目前仍處於緊鑼密鼓的開發階段。這次發表,我們特意使用受限平台,來保證一些最重要的常見模型性能不受到影響。

我們計劃根據用戶的需要考慮未來優先擴展的功能。我們的開發目標是簡化開發人員的體驗,並讓模型能部署到一系列行動和嵌入式裝置。

很高興開發者也在幫助 TensorFlow Lite 項目順利進行。我們將會以與 TensorFlow 項目相同的熱情來支持和啟動 TensorFlow Lite 社群。歡迎大家來使用 TensorFlow Lite。

更多消息請點 TensorFlow Lite 文件頁面。接下來會有持續更新。

(本文由 雷鋒網 授權轉載;首圖來源:Google) 

關鍵字: ,