使用自訂視覺定型模型
在本教學課程的上一個階段 中,我們已討論建立您自己的 Windows 機器學習模型和應用程式的必要條件,並下載要使用的映射集。 在此階段中,我們將瞭解如何使用 Web 型自訂視覺介面,將影像集轉換成影像分類模型。
Azure 自訂視覺是映射辨識服務,可讓您建置、部署及改善自己的映射識別碼。 自訂視覺服務可做為一組原生 SDK,以及透過自訂視覺網站上的網頁型介面來取得。
建立自訂視覺資源和專案
建立自訂視覺資源
若要使用 自訂視覺 服務,您必須在 Azure 中建立自訂視覺資源。
- 流覽至 Azure 帳戶的主頁面,然後選取
Create a resource
。
- 在搜尋方塊中,搜尋
Custom Vision
,然後輸入 Azure Marketplace。 選取Create Custom Vision
以開啟 [建立自訂視覺] 頁面上的對話方塊視窗。
- 在 [自訂視覺] 對話方塊頁面上,選擇下列專案:
Training
選取 和Prediction
資源。- 選取要管理已部署資源的訂用帳戶。 如果您沒有在功能表中看到您的 Azure 訂用帳戶,請使用您用來開啟帳戶的相同認證登出並重新開啟您的 Azure 帳戶。
- 建立新的資源群組,並為其命名。 在本教學課程中,我們已呼叫 我們的
MLTraining
,但您可以隨意選擇您自己的名稱,或如果您有名稱,請使用現有的資源群組。 - 為專案命名。 在本教學課程中,我們已呼叫 我們的
classificationApp
,但您可以使用您選擇的任何名稱。 - 針對 和
Prediction
資源,將位置設定為 (US) 美國 東部,並將 定價層 設定為 免費 FO 。Training
- 按
Review + create
以部署自訂視覺資源。 部署資源可能需要幾分鐘的時間。
在 自訂視覺 內建立新專案
現在您已建立資源,現在可以在 自訂視覺 內建立定型專案。
在網頁瀏覽器中,流覽至 [自訂視覺 ] 頁面,然後選取
Sign in
。 使用您用來登入 Azure 入口網站的相同帳戶登入。選取
New Project
以開啟新的專案對話方塊。
- 建立新的專案,如下所示:
Name
:FoodClassification。Description
:不同類型的食物分類。Resource
:保留您先前開啟的相同資源 –ClassificationApp [F0]
。Project Types
:classification
Classification Types
:Multilabel (Multiple tags per image)
Domains
:Food (compact)
.Export Capabilities
:Basic platforms (Tensorflow, CoreML, ONNX, ...)
注意
若要匯出至 ONNX 格式,請確定您選擇網域 Food (compact)
。 無法將非精簡網域匯出至 ONNX。
重要
如果您的登入帳戶與 Azure 帳戶相關聯,[資源群組] 下拉式清單會顯示包含自訂視覺服務資源的所有 Azure 資源群組。 如果沒有可用的資源群組,請確認您已使用您用來登入 Azure 入口網站的相同帳戶登入 customvision.ai。
- 填入對話方塊之後,請選取
Create project
。
上傳訓練資料集
既然您已建立專案,您將會從 Kaggle Open Datasets 上傳先前準備的食品影像資料集。
選取您的
FoodClassification
專案以開啟自訂視覺網站的 Web 介面。Add images
選取按鈕,然後選擇Browse local files
。
流覽至影像資料集的位置,然後選取訓練資料夾 –
vegetable-fruit
。 選取資料夾中的所有影像,然後選取open
。 標記選項將會開啟。在 欄位中輸入
vegetable-fruit
,然後按Upload
。My Tags
等到第一組影像上傳至您的專案,然後按 done
。 標籤選取專案會套用至您選取要上傳的整個影像群組。 這就是為什麼從已預先建置的映射群組上傳影像會比較容易。 上傳個別影像之後,您一律可以變更這些影像的標籤。
- 成功上傳第一組影像後,再重複兩次程式,上傳甜點和湯的圖像。 請務必使用相關的標籤來標記它們。
最後,您將有三個不同的影像群組可供訓練。
定型模型分類器
您現在將訓練模型,以分類您在上一個部分中下載的一組影像中的蔬菜、湯和甜點。
- 若要開始定型程式,請從右上角選取
Train
按鈕。 分類器會使用影像來建立模型,以識別每個標記的視覺品質。
您可以選擇使用左上角的滑杆來變更機率臨界值。 機率臨界值會設定預測必須擁有的信賴等級,才能視為正確。 如果機率臨界值太高,您將得到更正確的分類,但偵測到較少。 另一方面,如果機率臨界值太低,您將偵測更多分類,但信賴度較低或更誤判的結果。
在本教學課程中,您可以將機率閾值保持在 50%。
- 在這裡,我們將使用
Quick Training
程式。Advanced Training
有更多設定,可讓您特別設定用於定型的時間,但我們在這裡不需要該層級的控制。 按Train
以起始定型程式。
快速訓練程式只需要幾分鐘的時間才能完成。 在此期間,定型程式的相關資訊會顯示在索引標籤中 Performance
。
評估及測試
評估結果
完成定型之後,您會看到第一個定型反復專案的摘要。 其中包含模型效能的估計 – 精確度 和 召回 率。
- 精確度 表示已識別分類的分數,這些分類正確無誤。 在我們的模型中,精確度為 98.2%,因此,如果我們的模型分類影像,很可能正確預測。
- 重新叫用 表示正確識別的實際分類分數。 在我們的模型中,召回率為 97.5%,因此我們的模型會適當地分類呈現給它的絕大多數影像。
- AP 代表其他效能。 這會提供額外的計量,其摘要說明不同臨界值的有效位數和召回率。
測試模型
匯出模型之前,您可以測試其效能。
- 選取
Quick Test
頂端功能表列右上角的 ,以開啟新的測試視窗。
在此視窗中,您可以提供要測試之影像的 URL,或選取 Browse local files
以使用本機儲存的影像。
- 選擇
Browse local files
,流覽至食物資料集,然後開啟驗證資料夾。 從fruit-vegetable
資料夾中選擇任何隨機影像,然後按open
。
測試的結果會出現在畫面上。 在我們的測試中,模式已成功將影像分類為 99.8% 確定性。
您可以在索引標籤中使用 Predictions
預測來定型,以提升模型效能。 如需詳細資訊,請參閱 如何改善分類器 。
注意
有興趣深入瞭解 Azure 自訂視覺 API 嗎? 自訂視覺服務檔 提供自訂視覺入口網站和 SDK 的詳細資訊。
將模型匯出至 ONNX
現在我們已將模型定型,我們可以將其匯出至 ONNX。
- 選取索引
Performance
標籤,然後選擇Export
開啟匯出視窗。
- 選取
ONNX
以將模型匯出至 ONNX 格式。
- 如有需要,您可以選擇
ONNX 16
float 選項,但在本教學課程中,我們不需要變更任何設定。 選取Export and Download
。
- 開啟下載的 .zip 檔案,並從中擷取
model.onnx
檔案。 此檔案包含分類器模型。
恭喜! 您已成功建置和匯出分類模型。
後續步驟
既然我們有分類模型,下一個步驟是 建置 Windows 應用程式,並在您的 Windows 裝置 本機執行。