Udostępnij za pomocą


Wprowadzenie do uczenia maszynowego z systemem Windows

W tym temacie przedstawiono sposób instalowania i używania systemu Windows ML do odnajdywania, pobierania i rejestrowania dostawców wykonywania (EPs) do użytku ze środowiskiem uruchomieniowym ONNX dostarczanym z usługą Windows ML. Usługa Windows ML obsługuje złożoność zarządzania pakietami i wyboru sprzętu, automatycznie pobierając najnowszych dostawców wykonywania zgodnych ze sprzętem urządzenia.

Jeśli nie znasz jeszcze środowiska uruchomieniowego ONNX, zalecamy przeczytanie dokumentacji środowiska uruchomieniowego ONNX. Krótko mówiąc, usługa Windows ML zapewnia udostępnioną kopię środowiska uruchomieniowego ONNX dla całego systemu Windows oraz możliwość dynamicznego pobierania dostawców wykonywania (EPs).

Wymagania wstępne

  • .NET 6 lub nowsza
  • Określanie docelowej wersji serwera TFM specyficznego dla systemu Windows 10, na przykład net6.0-windows10.0.19041.0 lub nowszej

Krok 1. Instalowanie lub aktualizowanie zestawu SDK aplikacji systemu Windows

Interfejsy API Katalogu Modeli są uwzględniane w eksperymentalnej wersji Windows App SDK 2.0.0 lub nowszej.

Zobacz używanie zestawu SDK aplikacji systemu Windows w istniejącym projekcie , aby dowiedzieć się, jak dodać zestaw SDK aplikacji systemu Windows do projektu lub jeśli już używasz zestawu SDK aplikacji systemu Windows, zaktualizuj pakiety.

Krok 2. Pobieranie i rejestrowanie adresów e-mail

Najprostszym sposobem rozpoczęcia pracy jest automatyczne odnajdywanie, pobieranie i rejestrowanie najnowszej wersji wszystkich zgodnych dostawców wykonywania. Aby można było ich używać, dostawcy wykonywania muszą być zarejestrowani w środowisku uruchomieniowym ONNX wewnątrz systemu Windows ML. A jeśli jeszcze nie zostały pobrane, należy je pobrać jako pierwszy. Wywołanie EnsureAndRegisterCertifiedAsync() spowoduje wykonanie obu tych czynności w jednym kroku.

using Microsoft.ML.OnnxRuntime;
using Microsoft.Windows.AI.MachineLearning;

// First we create a new instance of EnvironmentCreationOptions
EnvironmentCreationOptions envOptions = new()
{
    logId = "WinMLDemo", // Use an ID of your own choice
    logLevel = OrtLoggingLevel.ORT_LOGGING_LEVEL_ERROR
};

// And then use that to create the ORT environment
using var ortEnv = OrtEnv.CreateInstanceWithOptions(ref envOptions);

// Get the default ExecutionProviderCatalog
var catalog = ExecutionProviderCatalog.GetDefault();

// Ensure and register all compatible execution providers with ONNX Runtime
// This downloads any necessary components and registers them
await catalog.EnsureAndRegisterCertifiedAsync();

Wskazówka

W aplikacjach produkcyjnych zawijanie EnsureAndRegisterCertifiedAsync() wywołania w bloku try-catch w celu bezproblemowego obsługi potencjalnych błędów sieci lub pobierania.

Dalsze kroki

Po zarejestrowaniu dostawców wykonywania możesz przystąpić do korzystania z interfejsów API środowiska uruchomieniowego ONNX w usłudze Windows ML! Chcesz...

  1. Wybieranie dostawców wykonywania — poinformuj środowisko uruchomieniowe, których dostawców wykonywania chcesz użyć
  2. Pobieranie modeli — używanie wykazu modeli do dynamicznego pobierania modeli lub dołączania ich lokalnie
  3. Uruchamianie wnioskowania modelu — kompilowanie, ładowanie i wnioskowanie modelu

Ważne

Projekty języka C# korzystające z Microsoft.ML.OnnxRuntime.Tensors interfejsów API muszą ręcznie odwoływać się do pakietu NuGet System.Numerics.Tensors w wersji 9.0.0 lub nowszej. Bez tego odwołania do pakietu NuGet wystąpi następujący błąd w czasie wykonywania: Could not load file or assembly 'System.Numerics.Tensors, Version=9.0.0.0.

Zobacz także