DirectML ツール

次のツールは、DirectML を強化し、AI アプリに組み込むために使用できます。

ONNX Runtime Go Live (Olive)

Olive は、モデルの圧縮、最適化、コンパイルに関して業界をリードする手法を構成する、使いやすいハードウェア対応モデル最適化ツールです。 ターゲット バックエンドとして DirectML を使用し Olive を通じてモデルを渡すことができます。Olive は、最も効率的なモデルを出力するために最も適した最適化手法を構成します。 Olive の使用方法の詳細とサンプルについては、Olive のドキュメントを参照してください。

DxDispatch

DxDispatch は、すべての C++ 定型文を記述せずに DirectX 12 コンピューティング プログラムを起動するためのシンプルなコマンド ライン実行可能ファイルです。 ツールへの入力は、リソース、ディスパッチ可能要素 (計算シェーダー、DirectML 演算子、ONNX モデル)、実行するコマンドを定義する JSON モデルです。 詳細については、GitHub の DxDispatch ガイドを参照してください。

DirectMLX

DirectMLX は DirectML 用の C++ ヘッダー専用ヘルパー ライブラリであり、個々の演算子をグラフに簡単に作成することを目的としています。 詳細については、DirectMLX のドキュメントを参照してください。

ONNX Runtime パフォーマンス テスト

onnxruntime パフォーマンス テストは、onnxruntime フレームワーク内のさまざまな実行プロバイダー (EP) を使用して ONNX モデルを実行するパフォーマンスを測定するツールです。 各 EP とモデルの待機時間、処理能力、メモリ使用量、CPU/GPU 使用率などのメトリックを報告できます。 onnxruntime パフォーマンス テストでは、さまざまな EP とモデルの結果を比較し、分析用のグラフとテーブルを生成することもできます。

directml ep で onnxruntime パフォーマンス テストを使用するには、onnxruntime-directml パッケージをインストールし、コマンド ライン引数で EP として directml を指定します。 たとえば、次のコマンドは、directml ep と既定の設定を使用して resnet50 モデルのパフォーマンス テストを実行します。

onnxruntime_perf_test -m resnet50 -e directml

パフォーマンス テストでは、directml ep と resnet50 モデルの平均待機時間、ピーク ワーキング セット メモリ、平均 CPU/GPU 使用率が出力されます。 また、他のオプションを使用して、反復回数、バッチ サイズ、コンカレンシー、ウォームアップ実行、モデル入力、出力形式を変更するなど、パフォーマンス テストをカスタマイズすることもできます。 詳細については、onnxruntime パフォーマンス テストのドキュメントを参照してください。