Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema erfahren Sie, wie Sie Windows ML installieren und verwenden, um Ausführungsanbieter (EPs) für die Verwendung mit der ONNX-Runtime zu ermitteln, herunterzuladen und zu registrieren, die mit Windows ML ausgeliefert wird. Windows ML behandelt die Komplexität der Paketverwaltung und der Hardwareauswahl und lädt automatisch die neuesten Ausführungsanbieter herunter, die mit der Hardware Ihres Geräts kompatibel sind.
Wenn Sie mit der ONNX-Runtime noch nicht vertraut sind, empfehlen wir, die ONNX-Runtime-Dokumente zu lesen. Kurz gesagt, Windows ML bietet eine freigegebene windowsweite Kopie der ONNX-Runtime sowie die Möglichkeit, Ausführungsanbieter (EPs) dynamisch herunterzuladen.
Voraussetzungen
- Version von Windows, die das Windows App SDK unterstützt
- Sprachspezifische Voraussetzungen unten
- .NET 6 oder höher
- Festlegen eines windows 10-spezifischen TFM wie
net6.0-windows10.0.19041.0oder höher
Schritt 1: Installieren oder Aktualisieren des Windows App SDK
Die Modellkatalog-APIs sind in der experimentellen Version von Windows App SDK 2.0.0 oder höher enthalten.
Lesen Sie die Verwendung des Windows App SDK in einem vorhandenen Projekt , um das Windows App SDK zu Ihrem Projekt hinzuzufügen, oder wenn Sie bereits Windows App SDK verwenden, aktualisieren Sie Ihre Pakete.
Schritt 2: Herunterladen und Registrieren von EPs
Die einfachste Möglichkeit für die ersten Schritte besteht darin, Windows ML automatisch zu ermitteln, herunterzuladen und die neueste Version aller kompatiblen Ausführungsanbieter zu registrieren. Ausführungsanbieter müssen bei der ONNX-Runtime innerhalb von Windows ML registriert werden, bevor Sie sie verwenden können. Und wenn sie noch nicht heruntergeladen wurden, müssen sie zuerst heruntergeladen werden. Der Anruf EnsureAndRegisterCertifiedAsync() führt beides in einem Schritt aus.
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();
Tipp
Schließen Sie in Produktionsanwendungen den EnsureAndRegisterCertifiedAsync() Anruf in einen Try-Catch-Block ein, um potenzielle Netzwerk- oder Downloadfehler ordnungsgemäß zu verarbeiten.
Nächste Schritte
Nach der Registrierung von Ausführungsanbietern können Sie die ONNX-Runtime-APIs in Windows ML verwenden! Sie möchten...
- Auswählen von Ausführungsanbietern – Teilen Sie der Laufzeit mit, welche Ausführungsanbieter Sie verwenden möchten.
- Abrufen Ihrer Modelle – Verwenden des Modellkatalogs, um Modelle dynamisch herunterzuladen oder lokal einzuschließen
- Ausführen der Modellferenz – Kompilieren, Laden und Ableiten des Modells
Von Bedeutung
C#-Projekte, die die Microsoft.ML.OnnxRuntime.Tensors APIs verwenden, müssen manuell auf das NuGet-Paket "System.Numerics.Tensors ", Version 9.0.0 oder höher, verweisen. Ohne diesen NuGet-Paketverweis tritt der folgende Laufzeitfehler auf: Could not load file or assembly 'System.Numerics.Tensors, Version=9.0.0.0
Siehe auch
- Modellkatalog – Dynamisches Herunterladen von Modellen aus Onlinekatalogen
- Initialisieren von Ausführungsanbietern – Zusätzliche Möglichkeiten zum Herunterladen von EPs
- Verteilen Ihrer App – Informationen zum Verteilen einer App mit Windows ML
- ONNX-Versionen in Windows ML – Informationen dazu, welche ONNX-Runtime-Version mit Windows ML ausgeliefert wird
- Lernprogramm – Vollständiges Ende-zu-Ende-Lernprogramm mit Windows ML mit dem ResNet-50-Modell
- Codebeispiele – Unsere Codebeispiele mit Windows ML