使用 PyTorch 和 Windows ML 進行影像分類

Header image for PyTorch

本教學課程將示範如何使用 PyTorch 定型影像分類類神經網路模型、將模型匯出至 ONNX 格式,並將其部署在 Windows 裝置本機執行的 Windows 機器學習 應用程式中。

需要 Python 和 C# 程式設計語言的基本知識。 先前在機器學習中的經驗是較佳的,但並非必要。

如果您想要直接移至安裝,請參閱 安裝 PyTorch

如果您已經設定 PyTorch,請取得 資料 來啟動模型轉譯程式。

準備好使用資料之後,您就可以開始 定型模型 ,然後將 它轉換成 ONNX 格式

如果您有 ONNX 模型,而且想要瞭解如何從頭開始建立 WinML 應用程式,請流覽以 部署您的模型

注意

如有需要,您可以複製 Windows 機器學習範例存放庫,並執行本教學課程的已完成程式碼。 您可以在這裡 找到 PyTorch 定型解決方案,或 在這裡 找到已完成的 Windows ML 應用程式。 如果您使用 PyTorch 檔案,請務必在執行 PyTorch 之前設定相關的 PyTorch 解譯器。

案例

在本教學課程中,我們將建立可在任何 Windows 裝置上執行的機器學習影像分類應用程式。 模型會定型以辨識模式類型,並將從所選定型集中分類 10 個影像標籤。 

PyTorch 的必要條件 - 模型定型:

下列 Windows 發行版本支援 PyTorch:

  • Windows 7 和更新版本。 建議使用 Windows 10 或更新版本。
  • Windows Server 2008 r2 和更新版本

若要在 Windows 上使用 Pytorch,您必須安裝 Python 3.x。 不支援 Python 2.x。

Windows ML 應用程式部署的必要條件

若要建立及部署 WinML 應用程式,您需要下列專案:

  • Windows 10 版本 1809(組建 17763) 或更高版本。 您可以透過 [執行] 命令 (Windows logo key + R) 執行 winver 來檢查組建版本號碼。
  • 適用于組建 17763 或更高版本的 Windows SDK。 您可以在這裡取得 SDK。
  • Visual Studio 2017 15.7 版或更新版本。 建議您改用 Visual Studio 2019,如果您改用 VS2017,本教學課程中的某些螢幕擷取畫面可能會不同。 您可以在這裡取得 Visual Studio。
  • Windows ML 程式碼產生器 (mlgen) Visual Studio 擴充功能。 下載 VS 2019 或 VS 2017
  • 您也需要 在電腦上啟用開發人員模式

注意

Windows ML API 內建于最新版的 Windows 10(1809 或更高版本)和 Windows Server 2019 中。 如果您的目標平臺是舊版 Windows,您可以將 WinML 應用程式移植到可轉散發的 NuGet 套件(Windows 8.1 或更高版本)。

後續步驟

我們將從安裝 PyTorch 並設定環境開始

重要

PyTorch、PyTorch 標誌及所有相關的標記均為 Facebook,Inc. 的商標。