開始使用 Windows 機器學習

應用程式中有數種方式可以使用 Windows 機器學習。 在核心上,您只需要幾個簡單的步驟。

  1. 取得定型的開放式類神經網路交換 (ONNX) 模型,或使用 ONNXMLTools 將其他 ML 架構中定型的模型轉換成 ONNX

  2. 將 ONNX 模型檔案新增至您的應用程式,或者透過其他方式將其用於目標裝置上。

  3. 將模型整合到您的應用程式程式碼,然後建置和部署應用程式。

Training environment, add model reference, application, Windows ML

隨附與 NuGet WinML 解決方案

下表強調 Windows ML 的隨附和 NuGet 套件的可用性、散發、語言支援、服務和往後相容性等方面。

屬性 隨附 NuGet (英文)
可用性 Windows 10 (版本 1809 或更高版本) Windows 8.1 或更高版本
散發 內建於 Windows SDK 封裝並散發為應用程式的一部分
服務 Microsoft 驅動 (客戶自動受益) 開發人員驅動
往後相容性 使用自動向前新功能 開發人員需要手動更新套件

當您的應用程式以隨附解決方案執行時,Windows ML 執行階段 (包含 ONNX 模型推論引擎) 會評估 Windows 10 (或者 Windows Server 2019,如果目標是伺服器部署) 裝置上的定型模型。 Windows ML 會處理硬體精簡,讓開發人員以大範圍的晶片作為目標,包括 CPU、GPU 以及未來包含 AI 加速器。 Windows ML 硬體加速是以 DirectML 為基礎所建置的,DirectML 是用來執行 ML 推論的高效能、低階 API,它是 DirectX 系列的一員。

windows ml layers

windows ml nuget package

若為 NuGet 套件,這些圖層會顯示為下圖所示的二進位檔。 Windows ML 已內建在 Microsoft.ai.machinelearning.dll 中。 其不包含內嵌的 ONNX 執行時間,而是將 ONNX 執行時間內建在以下檔案中:onnxruntime.dll。 WindowsAI NuGet 套件中所包含的版本包含一個內嵌其中的 DirectML EP。 最終的二進位檔 DirectML.dll 是 DirectML 的實際平台程式碼,其建置在 Windows 內建的 Direct 3D 和計算驅動程式上。 這三個二進位檔都包含在 NuGet 版本中,以便與您的應用程式一起散發。

直接存取 onnxruntime.dll 也可讓您以跨平台的案例為目標,同時取得可在所有 Windows 裝置上進行調整的相同硬體無關加速。

Microsoft 的其他機器學習解決方案

Microsoft 提供各種不同的機器學習解決方案以符合您的需求。 這些解決方案會在雲端、內部部署和本機裝置上執行。 如需詳細資訊,請參閱Microsoft 有哪些機器學習產品選項?

深入了解

如果您想要使用 Windows ML NuGet 套件,請參閱 教學課程:將現有的 WinML 應用程式移植到 NuGet 套件

如需最新的 Windows ML 功能和修正,請參閱我們的版本資訊

注意

使用下列資源取得 Windows ML 的說明:

  • 如需詢問或回答有關 Windows ML 的技術問題,請使用 Stack Overflow 上的 windows-machine-learning 標籤。
  • 如需回報錯誤 (bug),請在 GitHub 上提出問題。