Strumenti DirectML
Sono disponibili gli strumenti seguenti per migliorare DirectML e incorporarlo nell'app per intelligenza artificiale.
ONNX Runtime Go Live (Olive)
Olive è uno strumento di ottimizzazione dei modelli compatibile con hardware facile da usare che compone tecniche leader del settore per la compressione del modello, l'ottimizzazione e la compilazione. È possibile passare un modello tramite Olive con DirectML come back-end di destinazione e Olive compone le tecniche di ottimizzazione più adatte per restituire i modelli più efficienti. Per altre informazioni ed esempi su come usare Olive, vedere la documentazione di Olive.
DxDispatch
DxDispatch è un semplice eseguibile da riga di comando per l'avvio di programmi di calcolo DirectX 12 senza scrivere tutto il boilerplate C++. L'input dello strumento è un modello JSON che definisce risorse, dispatchables (compute shader, operatori DirectML e modelli ONNX) e comandi da eseguire. Per altre informazioni, vedere la guida dxDispatch su Github.
DirectMLX
DirectMLX è una libreria helper solo intestazione C++ per DirectML, progettata per semplificare la composizione di singoli operatori in grafici. Per altre informazioni, vedere la documentazione di DirectMLX
Test delle prestazioni del runtime ONNX
Il test delle prestazioni onnxruntime è uno strumento che misura le prestazioni dell'esecuzione di modelli ONNX con provider di esecuzione diversi nel framework onnxruntime. Può segnalare metriche come latenza, velocità effettiva, utilizzo della memoria e utilizzo cpu/GPU per ogni EP e modello. Il test delle prestazioni onnxruntime può anche confrontare i risultati di diversi EPS e modelli e generare grafici e tabelle per l'analisi.
Per usare il test perf onnxruntime con directml ep, installare il pacchetto onnxruntime-directml e specificare directml come EP negli argomenti della riga di comando. Ad esempio, il comando seguente esegue il test delle prestazioni per il modello resnet50 con directml ep e le impostazioni predefinite:
onnxruntime_perf_test -m resnet50 -e directml
Il test delle prestazioni restituirà la latenza media, il picco di memoria del set di lavoro e l'utilizzo medio della CPU/GPU per il ep directml e il modello resnet50. È anche possibile usare altre opzioni per personalizzare il test delle prestazioni, ad esempio la modifica del numero di iterazioni, le dimensioni del batch, la concorrenza, le esecuzioni di riscaldamento, gli input del modello e i formati di output. Per altri dettagli, vedere la documentazione di test delle prestazioni onnxruntime.