02.28 超實用!Google AutoML 圖像分類模型全在這

超實用!Google AutoML 圖像分類模型全在這

來源 | Seve

編譯 | 火火醬 責編| Carol

出品 | AI科技大本營(ID:rgznai100)

在本教程中,我將向大家展示如何在Google AutoML中創建單個標籤分類模型。我們將使用來自generate.photos的AI生成的面孔數據集。通過算法訓練來判斷一張臉是男性還是女性。之後,我們會將模型部署到雲中,並創建該算法的Web瀏覽器版本。

generate.photos:

https://generated.photos/

超实用!Google AutoML 图像分类模型全在这

獲取標籤

下面,就讓我們開始吧!首先,讓我們看一下要分類的數據。總共約有2,000張人臉照片。

數據下載鏈接:

https://wao.ai/blog/single-label-image-classification-google-automl

超实用!Google AutoML 图像分类模型全在这

很難相信這些面孔是假的對吧!那麼,現在讓我們獲取ground truth標籤來對算法進行訓練吧。首先創建圖片分類作業,我們可以藉助wao.ai來迅速完成此操作,你可以通過下方視頻鏈接瞭解該過程。

wao.ai:https://wao.ai/

視頻鏈接:https://www.youtube.com/watch?v=adjwhyqdXOM

工作完成後,我們會獲得一個包含ground-truth標籤的CSV文件。

CSV文件下載鏈接:

https://wao.ai/blog/single-label-image-classification-google-automl

超实用!Google AutoML 图像分类模型全在这

建立項目

現在可以開始使用Google AutoML了。接下來,我們將在Google AutoML上創建一個數據集,並開始訓練我們的模型。

如果你還沒有賬戶,請先在Google Cloud Platform上創建一個帳戶。然後,我們需要創建一個新項目。

超实用!Google AutoML 图像分类模型全在这

創建項目後,我們可以使用頂部的側邊欄或搜索欄導航到Google AutoML。你可能需要啟用一些API並設置好結算功能,GCP會引導你完成該過程。

超实用!Google AutoML 图像分类模型全在这

接下來,點擊“圖像分類(Image Classification)”。

超实用!Google AutoML 图像分类模型全在这

然後我們將會進入“數據集(Dataset)”界面。在該界面中,單擊“創建新數據集(Create New Dataset)”,並填寫數據集的一些詳細信息以進行訓練。

超实用!Google AutoML 图像分类模型全在这
超实用!Google AutoML 图像分类模型全在这

格式化輸入數據

現在我們將自己的數據放入Google Cloud Platform。所有數據都必須位於GCP存儲桶中。因為我們的數據集太大,所以瀏覽器界面無法正常工作。

但是,GCP命令行工具應該可以正常運行。你也可以安裝Google Cloud SDK(其中包括命令行工具)。

Google Cloud SDK下載鏈接:

https://cloud.google.com/sdk/

現在,我們只需要執行gsutil cp -r path / to / faces gs:// YOUR_BUCKET / faces即可將文件移到存儲桶中。確保將YOUR_BUCKET更改為為你創建的存儲庫的名稱(在下面的截圖中,我的存儲庫名稱為woven-icon-263815-vcm)。

超实用!Google AutoML 图像分类模型全在这

接下來,我們要將ground-truth標籤CSV從wao.ai轉換為AutoML期望的CSV輸出。

(wao.ai:https://wao.ai/)

我們的原始CSV如下圖所示:

超实用!Google AutoML 图像分类模型全在这

為了方便使用Google AutoML,我們需要將其轉換為:

超实用!Google AutoML 图像分类模型全在这

我在ipython終端中使用Pandas DataFrame進行了此操作(如下圖所示):

Pandas:https://pandas.pydata.org/

超实用!Google AutoML 图像分类模型全在这
超实用!Google AutoML 图像分类模型全在这超实用!Google AutoML 图像分类模型全在这

完成創建數據集

現在,我們有了Google AutoML所需格式的CSV,就可以完成創建自己數據集的準備工作了。

將我們創建的新CSV上傳到你的存儲庫中,然後在“導入數據集(Import Dataset)”界面中選擇該庫。

超实用!Google AutoML 图像分类模型全在这

導入數據後,你可以從瀏覽器中查看所有的圖像和標籤。

超实用!Google AutoML 图像分类模型全在这
超实用!Google AutoML 图像分类模型全在这

創建模型

在本節中,我們將創建一個運行在GCP上的雲模型,該模型具有易於使用的API以及可以導出到Tensorflow並在本地或本地託管的移動設備和瀏覽器上運行的Edge模型。

1. 訓練雲模型

導航到“訓練(TRAIN)”選項卡,然後單擊“開始訓練(START TRAINING)”。我使用了所有的默認選項。

超实用!Google AutoML 图像分类模型全在这
超实用!Google AutoML 图像分类模型全在这超实用!Google AutoML 图像分类模型全在这

幾個小時後,模型完成,並概述了模型的性能和所用的預算(我分配的全部是16小時)。

超实用!Google AutoML 图像分类模型全在这

2. 訓練“邊緣”模型(可以在任何地方運行的模型)

創建邊緣模型的方法基本相同,只需單擊“邊緣(Edge)”而不是“雲(Cloud)”即可。當創建邊緣模型時,你可以優化其速度或精度。因為我想將邊緣模型與雲模型進行比較,所以我決定對精度進行優化。

超实用!Google AutoML 图像分类模型全在这
超实用!Google AutoML 图像分类模型全在这超实用!Google AutoML 图像分类模型全在这

結果

在“評估(EVALUATE)”選項卡中,我們能夠看到模型的執行效果。雲模型的準確率為94.5%。邊緣模型的準確率為95.5%。讓我驚訝的是,雲模型的表現竟然稍差一些,特別是考慮到它的培訓成本要更高之後!

總的來說,我對兩個模型的性能都很滿意。由混淆矩陣可知,雲模型在預測男性時出錯較多,而邊緣模型的失誤率則更均勻。

超实用!Google AutoML 图像分类模型全在这

雲模型性能

在下面的屏幕截圖中,你可以看到雲模型的混亂矩陣,以及AutoML報告的一些統計信息。它在預測女性方面略優於男性。

超实用!Google AutoML 图像分类模型全在这超实用!Google AutoML 图像分类模型全在这

邊緣模型性能

在以下截圖中,你可以看到邊緣模型的混淆矩陣以及AutoML報告的一些統計數據。邊緣模型在預測男性方面略勝一籌!

超实用!Google AutoML 图像分类模型全在这超实用!Google AutoML 图像分类模型全在这

邊緣案例

Google AutoML為你提供了模型在哪些方面表現良好以及哪些地方出錯的細目。和我的keras模型一樣,兒童和不尋常的面部角度都是個問題。以下屏幕截圖中顯示了誤報的案例。

超实用!Google AutoML 图像分类模型全在这超实用!Google AutoML 图像分类模型全在这
超实用!Google AutoML 图像分类模型全在这

部署模型

既然我們已經獲得了滿意的模型,那麼我們就該應用一下了!我們的雲模型可以部署在GCP上,Edge模型可供下載並同Tensorflow一起運行。讓我們一起來探索雲模型和邊緣模型的部署吧。

超实用!Google AutoML 图像分类模型全在这

雲部署

導航到“測試&使用(TEST&USE)”選項卡,然後單擊“部署模型(DEPLOY MODEL)”按鈕。為了進行測試,我決定只部署到一個節點。部署該模型大約花費一個小時。

超实用!Google AutoML 图像分类模型全在这

雲模型公開了一個易於使用的API,你可以在其中上傳一個簡單的JSON對象並接收到一組帶有返回概率的預測。對我來說,這是簡單且完美的集成API。

超实用!Google AutoML 图像分类模型全在这

我們還可以直接在瀏覽器中使用API並檢查結果。我從訓練集中上傳了一些面部照片,看起來效果還不錯!總的來說,如果你有能力在後臺運行雲實例,那麼我認為這是一個非常易於使用的API。

超实用!Google AutoML 图像分类模型全在这

邊緣部署

對於邊緣部署,我們有多種下載模型的方法。每種方法都非常強大:

  • TF Lite:允許你在移動設備上運行模型

(TF Lite:https://www.tensorflow.org/lite)

  • TensorFlow.js:允許你在網絡瀏覽器中運行模型

(TensorFlow.js:https://www.tensorflow.org/js)

  • Core ML:允許你在Apple設備上運行模型

(Core ML:https://developer.apple.com/documentation/coreml)

  • Container:允許你在Docker容器中運行模型(對於Web服務器而言是完美的)

(Container:https://www.docker.com/resources/what-container)

超实用!Google AutoML 图像分类模型全在这

我下載了Tensorflow.js 模型,並構建了一個使用Edge模型和網絡攝像頭的demo示範。注意:此模型不會將你的圖像上傳到服務器,所有內容都在本地運行!

(demo示範鏈接:https://wao.ai/blog/can-ai-guess-our-sex)

超实用!Google AutoML 图像分类模型全在这

結語

總而言之,Google AutoML在該任務上易於使用,且非常有效。我期待著嘗試其他雲提供商,看看他們比較起來表現如何!

https://hackernoon.com/image-classification-model-with-google-automl-a-how-to-guide-wa7n3b6n

本文為 CSDN 翻譯,轉載請註明來源出處。


分享到:


相關文章: