DirectML-Tools
Die folgenden Tools in diesem Artikel sind verfügbar, um DirectML zu verbessern und es in Ihre KI-App zu integrieren.
ONNX Runtime Go Live (Olive)
Olive ist ein einfach zu verwendende Hardware-kompatibles Modelloptimierungstool, das branchenführende Techniken für die Modellkomprimierung, Optimierung und Kompilierung erstellt. Sie können über Olive ein Modell mit DirectML als Ziel-Back-End übergeben, und Olive erstellt die besten Optimierungstechniken, um die effizientesten Modelle auszuliefern. Weitere Informationen und Beispiele zur Verwendung von Olive finden Sie in der Dokumentation zu Olive.
DxDispatch
DxDispatch ist eine einfache ausführbare Befehlszeile zum Starten von DirectX 12-Programmen, ohne alle C++-Textbausteine zu schreiben. Die Eingabe für das Tool ist ein JSON-Modell, das Ressourcen, Dispatchables (Computeshader, DirectML-Operatoren und ONNX-Modelle) und auszuführende Befehle definiert. Weitere Informationen finden Sie im DxDispatch-Leitfaden auf Github.
DirectMLX
DirectMLX ist eine C++ headerbasierte Hilfsprogramm-Bibliothek für DirectML, die das Verfassen einzelner Operatoren in Diagrammen erleichtert. Weitere Informationen finden Sie in der DirectMLX-Dokumentation.
Leistungstests der ONNX-Runtime
Der Leistungstest „onnxruntime“ ist ein Tool, das die Leistung der Ausführung von ONNX-Modellen mit verschiedenen Ausführungsanbietern (EPs) im onnxruntime-Framework misst. Er kann Metriken wie Latenz, Durchsatz, Arbeitsspeicherauslastung und CPU/GPU-Auslastung für jedes EP und jedes Modell melden. Der Onnxruntime-Leistungstest kann auch die Ergebnisse verschiedener EPs und Modelle vergleichen und Diagramme und Tabellen für die Analyse generieren.
Um den Onnxruntime-Leistungstest mit dem directml-EP zu verwenden, installieren Sie das Paket „onnxruntime-directml“, und geben Sie das directml als EP in den Befehlszeilenargumenten an. Der folgende Befehl führt beispielsweise den Leistungstest für das resnet50-Modell mit directml ep und den Standardeinstellungen aus:
onnxruntime_perf_test -m resnet50 -e directml
Der Leistungstest gibt die durchschnittliche Latenz, Speicher in Spitzenarbeitssätzen und die durchschnittliche CPU/GPU-Auslastung für directml ep und das Resnet50-Modell aus. Es können auch andere Optionen verwendet werden, um den Leistungstest anzupassen, z. B. das Andern die Anzahl der Iterationen, die Batchgröße, die Parallelität, die Warmupläufe, die Modelleingaben und die Ausgabeformate. Weitere Informationen hierzu finden Sie in der Dokumentation zum Onnxruntime-Leistungstest.