備註
有了新的 Windows ML API(在通過 NuGet 提供的 Microsoft.Windows.AI.MachineLearning
命名空間中),這些 API 已取代了 2018 年發布的 Windows ML 版本。
有多種方法可以在您的應用程式中使用 Windows Machine Learning。 在核心上,您只需要幾個簡單的步驟。
取得定型的開放式類神經網路交換 (ONNX) 模型,或使用 ONNXMLTools 將其他 ML 架構中定型的模型轉換成 ONNX。
將 ONNX 模型檔案新增至您的應用程式,或在目標裝置上以其他方式提供它。
將模型整合到您的應用程式程式代碼中,然後建置和部署應用程式。
內建版本與 NuGet WinML 解決方案
下表強調 Windows ML In-Box 和 NuGet 套件的可用性、散發、語言支援、服務及向前相容性等層面。
性能 | In-Box | 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 之上,這是高效能、低階 API,可用來執行屬於 DirectX 系列的 ML 推斷。
針對 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 標籤。
- 若要回報錯誤,請在 GitHub 上提出問題。