DirectML を強化し、それを AI アプリに組み込むには、次のツールを使用できます。
ONNX ランタイム Go Live (Olive)
Olive は、モデルの圧縮、最適化、コンパイルに関して業界をリードする手法を構成する、使いやすいハードウェア対応モデル最適化ツールです。 ターゲット バックエンドとして DirectML を使用して Olive を通じてモデルを渡すことができます。Olive は、最も効率的なモデルを出力するための最適な最適化手法を構成します。 Olive の使用方法の詳細とサンプルについては、 Olive のドキュメントを参照してください。
Dxディスパッチ
DxDispatch は、すべての C++ 定型文を記述せずに DirectX 12 コンピューティング プログラムを起動するための単純なコマンド ライン実行可能ファイルです。 ツールへの入力は、リソース、ディスパッチ可能なリソース (コンピューティング シェーダー、DirectML 演算子、ONNX モデル)、および実行するコマンドを定義する JSON モデルです。 詳細については、 GitHub の DxDispatch ガイドを参照してください。
DirectMLX
DirectMLX は DirectML 用の C++ ヘッダー専用ヘルパー ライブラリであり、個々の演算子をグラフに簡単に作成することを目的としています。 詳細については、DirectMLX のドキュメントを参照してください
ONNX ランタイム パフォーマンス テスト
onnxruntime パフォーマンス テストは、onnxruntime フレームワーク内の異なる実行プロバイダー (EPs) を使用して ONNX モデルを実行するパフォーマンスを測定するツールです。 各 EP とモデルの待機時間、スループット、メモリ使用量、CPU/GPU 使用率などのメトリックを報告できます。 onnxruntime パフォーマンス テストでは、さまざまな IP とモデルの結果を比較し、分析用のグラフとテーブルを生成することもできます。
directml ep で onnxruntime perf テストを使用するには、onnxruntime-directml パッケージをインストールし、コマンド ライン引数で ep として directml を指定します。 たとえば、次のコマンドは、directml ep と既定の設定で resnet50 モデルのパフォーマンス テストを実行します。
onnxruntime_perf_test -m resnet50 -e directml
パフォーマンス テストでは、directml ep と resnet50 モデルの平均待機時間、ピークワーキング セット メモリ、平均 CPU/GPU 使用率が出力されます。 また、他のオプションを使用して、反復回数、バッチ サイズ、コンカレンシー、ウォームアップ実行、モデル入力、出力形式の変更など、パフォーマンス テストをカスタマイズすることもできます。 詳細については、 onnxruntime perf テストのドキュメントを参照してください。