Udostępnij przez


Wprowadzenie do usługi Windows Machine Learning

Important

Aby uzyskać najnowszą dokumentację dotyczącą usługi Windows Machine Learning, zobacz Co to jest uczenie maszynowe systemu Windows. W tej dokumentacji opisano interfejsy API, które znajdują się w przestrzeni nazw Microsoft.Windows.AI.MachineLearning dostarczanej w zestawie SDK aplikacji systemu Windows. Te interfejsy API zastępują te udokumentowane tutaj, które znajdują się w przestrzeni nazw Windows.AI.MachineLearning i zostały wysłane w 2018 roku.

Istnieje kilka sposobów korzystania z usługi Windows Machine Learning w aplikacji. Zasadniczo wystarczy kilka prostych kroków.

  1. Uzyskaj wytrenowany model Open Neural Network Exchange (ONNX) lub przekonwertuj modele wytrenowane w innych strukturach uczenia maszynowego na ONNX przy użyciu narzędzia ONNXMLTools.

  2. Dodaj plik modelu ONNX do aplikacji lub udostępnij go w inny sposób na urządzeniu docelowym.

  3. Zintegruj model z kodem aplikacji, a następnie skompiluj i wdróż aplikację.

Środowisko szkoleniowe, dodawanie odwołania do modelu, aplikacja, uczenie maszynowe systemu Windows

Rozwiązania wbudowane WinML kontra NuGet

W poniższej tabeli przedstawiono dostępność, dystrybucję, obsługę języków, serwisowanie oraz kompatybilność w przyszłości pakietów In-Box i NuGet dla systemu Windows ML.

Properties In-Box NuGet
Availability Windows 10 w wersji 1809 lub nowszej Windows 8.1 lub nowszy
Distribution Wbudowane w zestaw SDK systemu Windows Pakowanie i rozpowszechnianie w ramach aplikacji
Servicing Napędzane przez Microsoft (klienci korzystają automatycznie) Developer-driven
Forward compatibility Automatyczne wprowadzenie nowych funkcji Deweloper musi ręcznie zaktualizować pakiet

Gdy aplikacja działa z wbudowanym rozwiązaniem, środowisko uruchomieniowe uczenia maszynowego systemu Windows (zawierające aparat wnioskowania modelu ONNX) ocenia wytrenowany model na urządzeniu z systemem Windows 10 (lub Windows Server 2019, jeśli jest przeznaczone dla wdrożenia serwera). Windows ML obsługuje abstrakcję sprzętu, umożliwiając twórcom ukierunkowanie szerokiego zakresu krzemu — w tym procesorów CPU, procesorów GPU i, w przyszłości, akceleratorów sztucznej inteligencji. Przyspieszanie sprzętowe systemu Windows ML jest oparte na języku DirectML, interfejsie API o wysokiej wydajności i niskim poziomie na potrzeby uruchamiania wnioskowań uczenia maszynowego, które są częścią rodziny DirectX.

warstwy ML Windows

pakiet NuGet Windows ML

W przypadku pakietu NuGet te warstwy są wyświetlane jako pliki binarne przedstawione na poniższym diagramie. Usługa Windows ML jest wbudowana w Microsoft.ai.machinelearning.dll. Nie zawiera osadzonego środowiska uruchomieniowego ONNX, zamiast tego środowisko uruchomieniowe ONNX jest wbudowane w plik: onnxruntime.dll. Wersja zawarta w pakietach NuGet systemu WindowsAI zawiera osadzony w nim moduł DirectML EP. Końcowy plik binarny, DirectML.dll, jest faktycznym kodem platformy DirectML i jest zbudowany na sterownikach Direct 3D i obliczeniowych, które są wbudowane w system Windows. Wszystkie trzy z tych plików binarnych są zawarte w wersjach NuGet, co pozwala na ich dystrybucję wraz z Twoimi aplikacjami.

Bezpośredni dostęp do onnxruntime.dll umożliwia również realizowanie scenariuszy międzyplatformowych, przy jednoczesnym uzyskaniu tego samego niezależnego od sprzętu przyspieszenia, które skalowane jest na wszystkich urządzeniach z systemem Windows.

Inne rozwiązania uczenia maszynowego firmy Microsoft

Firma Microsoft oferuje różne rozwiązania uczenia maszynowego dostosowane do Twoich potrzeb. Te rozwiązania działają w chmurze, lokalnie i lokalnie na urządzeniu. Aby uzyskać więcej informacji, zobacz Jakie są opcje produktów uczenia maszynowego od firmy Microsoft?

Learn more

Jeśli chcesz użyć pakietu NuGet uczenia maszynowego systemu Windows, zobacz Samouczek: przenoszenie istniejącej aplikacji WinML do pakietu NuGet.

Aby zapoznać się z najnowszymi funkcjami i poprawkami uczenia maszynowego systemu Windows, zobacz nasze informacje o wersji.

Note

Skorzystaj z następujących zasobów, aby uzyskać pomoc dotyczącą uczenia maszynowego z systemem Windows:

  • Aby zadać lub odpowiedzieć na pytania techniczne dotyczące uczenia maszynowego z systemem Windows, użyj tagu windows-machine-learning w witrynie Stack Overflow.
  • Aby zgłosić usterkę, popełnij zgłoszenie na GitHubie .