本指南說明如何:訓練類神經網路模型,以使用 Azure 自定義視覺服務分類食物的影像;將模型匯出為 ONNX 格式;並在 Windows 裝置本機執行的 Windows Machine Learning (Windows ML) 應用程式中部署模型。 您不需要任何先前在機器學習方面的專業知識! 我們將逐步引導您完成此過程。
如果您想要瞭解如何使用自定義視覺來建置和定型模型,則可以繼續訓練 模型。
如果您有模型,而且想要瞭解如何從頭開始建立 Windows ML 應用程式,請參閱完整的 Windows ML 應用程式教學課程。
如果您想要從 Windows ML 應用程式的預先存在的 Visual Studio 專案開始,您可以複製 自定義視覺和 Windows ML 教學課程範例應用程式,並使用該專案作為起點。
情境
在本教學課程中,我們將建立在 Windows 裝置上執行的機器學習食品分類應用程式。 模型會定型以辨識特定類型的模式來分類食物的影像,並在指定影像時傳回分類標記和該分類的相關百分比信賴值。
模型定型的必要條件
若要建置和定型模型,您需要 Azure 自定義視覺服務的訂用帳戶。
如果您不熟悉 Azure,則可以註冊 Azure 免費帳戶。 這可讓您有機會使用 Azure AI 建置、定型及部署機器學習模型。
小提示
您是否有興趣深入瞭解 Azure 註冊選項和 Azure 免費帳戶? 然後查看 建立 Azure 帳戶。
Windows ML 應用程式部署的必要條件
若要建立及部署 Windows ML 應用程式,您需要下列專案:
- Windows 10 1809 版 (組建 17763) 及之後的版本。 您可以透過
winver
[執行 ] 命令執行來檢查組建版本號碼(Windows 標誌鍵 + R)。 - 適用於組建 17763 或更新版本的 Windows SDK。 若要下載,請參閱 Windows SDK。
- Visual Studio 2017 15.7 版或更新版本;但建議您使用 Visual Studio 2022 或更新版本。 本教學課程中的某些螢幕快照可能與您將看到的UI不同。 若要下載 Visual Studio,請參閱 下載和 Windows 開發工具。
- Windows ML 程式代碼產生器 (
mlgen
) Visual Studio 擴充功能。 下載Visual Studio 2019 或更新版本或Visual Studio 2017。 - 如果您決定建立通用 Windows 平臺 (UWP) 應用程式,則必須在 Visual Studio 中啟用通用 Windows 平台開發工作負載。
- 在您的電腦上啟用開發人員模式-請參閱 啟用您的裝置以進行開發。
備註
Windows ML API 內建至最新版的 Windows 10(1809 或更高版本)和 Windows Server 2019。 如果您的目標平臺是舊版 Windows,您可以將 Windows ML 應用程式移植到可轉散發的 NuGet 套件(Windows 8.1 或更高版本)。
準備資料
機器學習模型必須使用現有的數據進行定型。 在本指南中,您將使用 Kaggle Open Datasets 中食物影像的數據集。 該數據集會以公用網域授權散發。
這很重要
若要使用此數據集,您必須遵守 Kaggle 網站的使用條款,以及此數據集本身的 Food-11
授權條款。 Microsoft對網站或此數據集沒有任何擔保或表示。
數據集有三個分割:評估、定型和驗證,並包含16,643個食物影像,分組為11個主要食品類別。 每個食物類別數據集中的影像會放在個別的資料夾中,讓模型定型程式更方便。
從 Food-11 影像數據集下載數據集。 數據集的大小約為 1 GB,您可能會被要求在 Kaggle 網站上建立帳戶以下載數據。
如果您想要的話,歡迎使用任何其他相關影像數據集。 我們建議您在初始訓練集中,至少為每個標記使用30個影像。 您也會想要收集一些額外的影像,以在模型定型之後進行測試。
此外,請確定所有訓練影像都符合下列標準:
-
.jpg
、.png
、.bmp
或.gif
格式。 - 大小不超過 6 MB(預測影像為 4 MB)。
- 最短邊緣不小於 256 像素;任何比此短的影像都會由 Custom Vision 服務自動放大。
後續步驟
既然您已整理好必要條件,並備妥數據集,您可以繼續建立 Windows ML 模型。 在下一個部分(使用自定義視覺訓練您的模型)中,您將使用網頁版自定義視覺介面來建立和訓練您的分類模型。