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 Handbuch wird erläutert, wie Sie von der Verwendung der eigenständigen ONNX-Runtime (die von Microsoft verwaltete, plattformübergreifende Laufzeit, die über NuGet oder GitHub verfügbar ist) zu der ONNX-Runtime migrieren, die in Windows ML enthalten ist.
Warum zu Windows ML wechseln?
-
Kleinere App-Download-/Installationsgröße – Ihre App muss keine großen EPs und die ONNX-Runtime verteilen.
- EPs werden dynamisch über Windows ML heruntergeladen, sodass Sie sie nicht mit Ihrer App bündeln müssen.
- Die ONNX-Runtime in Windows ML ist eine gemeinsam genutzte systemweite Kopie, sodass Ihre App sie nicht mit Ihrer App bündeln muss.
- Dynamische Verwendung der neuesten EPs – Automatisches Herunterladen und Verwalten der neuesten kompatiblen hardwarespezifischen Ausführungsanbieter, ohne dass Ihre App aktualisiert werden muss
- Verwendet dynamisch die neueste ONNX-Runtime – aktualisiert die ONNX-Runtime automatisch, ohne dass Ihre App aktualisiert werden muss. Weitere Informationen finden Sie in den ONNX-Versionsdokumenten .
Systemanforderungen für Windows ML
- Betriebssystem: Version von Windows, die das Windows App SDK unterstützt
- Architektur: x64 oder ARM64
- Hardware: Jede PC-Konfiguration (CPUs, integrierte/diskrete GPUs, NPUs)
Schritt 1: Überprüfen der ONNX-Versionskompatibilität
Sehen Sie sich die ONNX-Runtime-Versionen an, die in Windows ML-Dokumenten enthalten sind, um sicherzustellen, dass Windows ML über die Version der ONNX-Runtime verfügt, für die Ihre App erforderlich ist. Nehmen Sie bei Bedarf Aktualisierungen an Ihren Modellen oder Code vor.
Schritt 2: Überprüfen unterstützter EPs
Sehen Sie sich die unterstützten Ausführungsanbieter in Windows ML-Dokumenten an, um sicherzustellen, dass Windows ML die von Ihrer App benötigten Ausführungsanbieter unterstützt. Nehmen Sie bei Bedarf Aktualisierungen an Ihren Modellen oder Code vor.
Schritt 3: Überprüfen der Windows App SDK-Anforderungen
Windows ML unterstützt sowohl die frameworkabhängigen als auch die eigenständigen Bereitstellungsoptionen im Windows App SDK. Weitere Informationen zu den Bereitstellungsoptionen im Windows App SDK finden Sie in der Übersicht über die Bereitstellungsoptionen im Windows App SDK. Nehmen Sie bei Bedarf Alle Aktualisierungen an Ihrer App vor.
Schritt 4: Wechseln zur ONNX-Runtime von Windows ML
Entfernen Sie die Kopie der ONNX-Runtime, die Ihre App derzeit verwendet.
Befolgen Sie dann Schritt 1 der ersten Schritte mit Windows ML-Dokumenten , um zu erfahren, wie Sie das Windows App SDK (das Windows ML enthält) installieren.
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
Nach der Installation von Windows ML sollten C#- und Python-Entwickler ihre App kompilieren können. Die ONNX-APIs in Windows ML sind identisch mit den ONNX-APIs in eigenständiger ONNX-Runtime. Weitere Informationen finden Sie unter Verwendung von ONNX-APIs in Windows ML .
Für C++-Entwickler gibt es zwei Möglichkeiten...
- Aktualisieren Sie die Verwendung der ONNX-Runtime-Header, um die Windows ML ONNX-Runtime-Header zu verwenden, die in einem
winml/Verzeichnis enthalten sind. - ODER legen Sie die WinMLEnableDefaultOrtHeaderIncludePath-Eigenschaft auf "true" fest, sodass die ONNX-Runtime-Headerpfade mit der eigenständigen ONNX-Runtime übereinstimmen, die Sie zuvor verwendet haben.
Weitere Informationen zu beiden Optionen finden Sie unter Verwenden von ONNX-APIs .
Schritt 5: Initialisieren von EPs über Windows ML
Sehen Sie sich die Initialisieren von Ausführungsanbietern mit Windows ML-Dokumenten an, um zu erfahren, wie EPs mit Windows ML dynamisch initialisiert (herunterladen und registrieren) werden.
Schritt 6: Führen Sie Ihre App aus!
Ihre App sollte jetzt lokal mit Windows ML arbeiten!