下列工具可用來增強 DirectML,並將其併入您的 AI 應用程式。
ONNX Runtime Go Live (Olive)
Olive 是一種易於使用的硬體感知模型優化工具,可跨模型壓縮、優化和編譯撰寫領先業界的技術。 您可以通過 DirectML 將模型設為目標後端,而 Olive 會組合最適合的優化技術來產生最有效率的模型。 如需如何使用 Olive 的詳細資訊和範例,請參閱 Olive 的檔。
DxDispatch 調度
DxDispatch 是一個簡單的命令列執行檔案,用於啟動 DirectX 12 計算程式,無需撰寫所有 C++ 樣板程式碼。 工具的輸入是 JSON 模型,可以定義資源、可分派項目(計算用著色器、DirectML 運算符和 ONNX 模型),以及需要執行的命令。 如需詳細資訊,請參閱 Github 上的 DxDispatch 指南。
DirectMLX
DirectMLX 是 DirectML 的C++標頭專用協助程式連結庫,旨在讓您更輕鬆地將個別運算符撰寫成圖表。 如需詳細資訊,請流覽 DirectMLX 檔
ONNX 執行時效能測試
onnxruntime perf 測試是一種工具,可測量在 onnxruntime 架構中使用不同執行提供者 (EPs) 執行 ONNX 模型的效能。 它可以報告每個 EP 和模型的延遲、輸送量、記憶體使用量和 CPU/GPU 使用率等計量。 onnxruntime perf 測試也可以比較不同 EP 和模型的結果,併產生圖表和數據表進行分析。
若要搭配 directml ep 使用 onnxruntime perf 測試,請安裝 onnxruntime-directml 套件,並將 directml 指定為命令行自變數中的 EP。 例如,下列命令會使用 directml ep 和預設設定來執行 resnet50 模型的 perf 測試:
onnxruntime_perf_test -m resnet50 -e directml
perf 測試會輸出 directml ep 和 resnet50 模型的平均延遲、尖峰工作集記憶體,以及平均 CPU/GPU 使用率。 您也可以使用其他選項來自定義效能測試,例如變更迭代次數、批次大小、併發處理、熱身執行次數、模型輸入和輸出格式。 如需詳細資訊,請參閱 onnxruntime perf 測試檔。