使用Tensorflow Lite在Android上構建自定義機器學習模型

  • 2019 年 10 月 4 日
  • 筆記

機器學習有許多用處,並提供了一個充滿未知性的世界。然而,有些人可能會退縮,認為它太難了,其實並不是這樣的。使用TensorFlow Lite並不一定都是機器學習專家。下面給大家分享我是如何開始在Android上構建自己的訂製機器學習模型的。

移動應用市場正在快速發展。前任蘋果CEO喬布斯說出「萬物皆有應用」這句話時,人們並沒有把它當回事。然而,從移動應用的消費方式來看,你不僅有一個適用於所有東西的應用,你的應用往往還會跟隨最新的趨勢發展。

還記得鋼鐵俠的助手賈維斯嗎?在為數字時代開發Android移動應用程式時,機器學習是不可多得的機會。現在能夠使用神經網路為你提供服務的只有像蘋果sir一樣的語音助手。隨著機器學習的發展,當你在現實生活中有一個和賈維斯非常相似的私人助理時,你並不會感到驚訝。機器學習將把用戶的體驗提升到了另一個層次。

雖然你聽到了許多關於機器學習的好處,但是在移動應用程式開發和機器學習之間仍然存在一些差距。Tensorflow Lite旨在縮小這一差距,使機器學習更容易融入其中。更重要的是,你甚至不需要成為Tensorflow Lite或機器學習領域的專家,就可以把它們運用到你開發的Android或iOS應用程式中。

TensorFlow的工作原理

Firebase提供的全新的ML工具包包含一系列API,是把機器學習運用到應用程式開發的一種有效的方法。這些API的範圍包括從人臉到影像的一系列檢測,而有些API也可以在離線模式下訪問。

然而,ML工具包並不能進行特異性鑒別,它無法幫助應用程式識別同一產品的不同類型。所以ML kit和TensorFlow Lite的組合更適用於你的移動應用程式開發工作。使用這種組合是為了簡化應用程式的開發過程,完善應用程式的功能。

如何使用TensorFlow Lite

要使用TensorFlow lite訂製Android應用程式解決方案,您需要遵循以下幾個步驟。

步驟 1

在這裡,您要考慮應用程式的先決條件,並確保它們得到了處理。除了TensorFlow Lite,還應該確保安裝了PILLOW來運行應用程式。

pip安裝-升級「tensorflow==1.7。pip install PILLOW

您甚至可以使用GitHub程式碼並複製它,以防安裝無法使用上面提到的程式碼工作。

步驟2

下一步是收集數據。例如,你想把電視根據品牌和大小進行分類,那麼您需要一個培訓模型來幫助將數據傳輸到應用程式。您需要從可靠的源下載數據集,確保你有足夠的培訓數據,這將幫助你做出有意義的分析。

步驟3

這一步是將可用數據轉換為應用程式可以連接的高品質影像的步驟。你需要採用特定的體系結構模型,把數據轉換為可以輸入應用程式的影像。

兩種最流行的架構包括MobileNet_2.0和Inception V3。

使用GitHub上的兩種體系結構,您可以很容易地獲得重新培訓現有模型所需的腳本。您可以將模型轉換為可以使用這些程式碼連接的影像。

步驟4

這一步是使用tflite_convert命令將模型轉換為TensorFlow lite。轉換器可以將你在前面步驟中獲得的TensorFlow圖優化為行動版本。除此之外,你還將獲得一些存儲在txt文件中的標籤。

使用TOCO轉換器,你不需要直接從源構建Tensorflow的映像。Firebase控制台直接幫助你優化文件。

步驟5

這是將經過訓練的模型合併到機器學習程式中的步驟。你需要從Android Studio中輸入Android文件夾來構建項目。在這裡,你需要輸入影像分類器,並使用TensorFlow Lite優化文件更新類中的兩個欄位。這兩個欄位是MODEL_PATH和LABEL_PATH。

一旦完全遵循了這些步驟,您所訓練的模型就可以學習了,您的應用程式也可以按照這些步驟工作,根據設備的大小隔離特定的一組設備。

機器學習確實讓移動應用程式開發看到了未來,如果你想改善Android應用程式的用戶體驗,那麼TensorFlow Lite是你最好的選擇。