TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

點擊上方關注,All in AI中國

對您自己的數據進行訓練

這將是一個實用的端到端指南,介紹如何使用TensorFlow Lite構建移動應用程序,該應用程序根據項目的數據集對圖像進行分類。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

此應用程序使用實時相機並立即對圖像進行分類。TFLite應用程序比使用TensorFlow Mobile製作的應用程序更小、更快、更準確,因為TFLite專門用於在移動平臺上運行神經網絡。

我們將使用MobileNet模型來訓練我們的網絡,這將使應用程序更小。

入門

要求…

  1. Python 3.5或更高版本-python3 -V
  2. Tensorflow 1.9或更高版本- pip3安裝- 升級Tensorflow

此外,打開終端並鍵入:

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

別名python = python3

現在,python3將使用python命令打開。這樣可以更容易地通過複製粘貼來實現代碼,而無需在輸入Python後擔心3。

TFLite教程包含以下步驟:

第1步:下載代碼文件

讓我們首先從tensorflow-for-poets GitHub下載代碼。(https://github.com/googlecodelabs/tensorflow-for-poets-2)打開要下載文件夾的命令提示符並鍵入:

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

這將下載文件並在當前目錄中創建一個名為tensorflow-for-poets的新文件夾。

輸出

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

下載GitHub文件

僅供參考:下載後,您可以將文件夾的名稱更改為項目名稱。

信息:該文件夾包含子文件夾

scripts - 包含機器學習代碼.py文件。

tf_files - 它將包含輸出文件,如models - graph.pb,labels.txt

android - 包含tfmobile和TFlite的Android應用程序項目。

iOS - 包含使用xCode的iOS應用程序項目文件。

第2步:下載數據集

讓我們下載一個200MB的公開數據集,其中有5種不同的鮮花可供分類。然後在tf_files文件夾中提取flower_photos.tgz,它看起來像這樣:

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

信息- 5種不同的類別文件夾是玫瑰,雛菊,蒲公英,向日葵和鬱金香。

第3步:重新制作模型

在“tensorflow-for-poets-2”文件夾中打開命令提示符並鍵入:

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

輸出

這將下載預先訓練的凍結圖(frozen graph)mobilenet_1.0_244

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

下載圖表

並在tf_files文件夾中創建retrained_graph.pb和retrained_labels.txt文件。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

完成的結果

打開Tensorboard

在當前目錄中打開另一個命令提示符,並將t​​ensorboard指向summaries_dir:

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

輸出

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

打開Tensorboard

現在,您可以在瀏覽器中打開6006端口以查看結果。

可視化

訓練和驗證

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

Tensorboard |交叉熵/損失(上)|精度(下)

驗證的準確度高於0.90,損失低於0.4。

驗證✔️

我在當前文件夾中從Internet上下載了一個隨機的rose映像,並使用以下命令運行label_image。py腳本,用於使用圖文件檢測圖像。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

輸出

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

結果為new_rose圖像提供99%的準確性。

第4步:將模型轉換為TFLite格式

Toco用於將文件轉換為.lite格式。有關toco參數的更多詳細信息,請使用toco --help

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

這將在tf_files目錄中創建optimize_graph.lite文件。

信息:使用toco -h獲取更多詳細信息

--input_file已更新為--graph_def_file

--input_format不需要mobile_net圖。

從這裡開始,本教程分為兩個部分:iOS和Android。

iOS

第5步:安裝Xcode Studio和測試運行

下載Xcode

使用您的Apple ID登錄- Apple Developer使用您現在註冊或註冊的Apple ID。developer.apple.com

安裝Xcode

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

安裝Cocoapods

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

安裝TFLite Cocoapod

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

使用Xcode打開項目

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

試運行

按▶️在Xcode中啟動模擬器。

第6步:運行您的應用程序

首先將訓練過的文件移動到應用程序的assets文件夾中。

替換graph.lite文件。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

然後是thelabels.txt文件。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

現在只需單擊▶️即可打開模擬器並放下圖像以查看結果。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

祝賀!現在,您可以在下一個價值數十億美元的應用程序中應用相同的方法,讓醫生在世界農村地區無需昂貴的設備即可更快更好地工作。

Android

第5步:設置Android Studio和測試運行

有兩種方法可以做到這一點:Android Studio和Bazel。我會使用AS,因為更多的人都熟悉它。

如果您尚未安裝它,請轉到此處並安裝它:

下載Android Studio和SDK工具| Android開發者下載官方Android IDE和開發人員工具,為Android手機,平板電腦,可穿戴設備,電視和...構建應用程序developer.android.com

試運行

為了確保Android Studio中的一切正常,讓我們進行一次測試運行。

打開Android Studio並選擇“打開現有的Android Studio項目”。

轉到android / tfmobile目錄。

如果一切正常,請單擊BUILD> BUILD APK按鈕。

單擊“定位”打開包含app-debug.apk文件的文件夾。

注意:在安裝應用程序之前,請打開手機中的開發者模式。

第6步:運行您的應用程序

首先將訓練過的文件移動到應用程序的assets文件夾中。

替換graph.lite文件。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

然後是labels.txt文件。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

現在單擊工具>> Build .apk文件。

安裝應用程序

在您的手機上安裝.apk文件,並查看重新訓練的神經網絡檢測對象。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類

祝賀!現在,您可以在下一個價值數十億美元的應用程序中應用相同的方法,讓醫生在世界農村地區無需昂貴設備的情況下更快更好地工作。

TensorFlow Lite極簡入門:構建移動應用程序進行圖像分類


分享到:


相關文章: