DirectML の概要

多くの開発者にとって、ハードウェア アクセラレータによる AI を大規模にユーザーに提供するためには、多くの場合、DirectML と ONNX Runtime のペアリングが最も簡単な方法です。 次の 3 つの手順は、この強力なコンボを使用するための一般的なガイドです。

1. 変換

ONNX 形式を使用すると、DirectML で ONNX Runtime を利用でき、クロスハードウェア機能が提供されます。

モデルを ONNX 形式に変換するには、ONNXMLTools または Olive を利用できます。

2. 最適化

.onnx モデルが用意できたら、DirectML を活用した Olive を利用してモデルを最適化します。 Windows ハードウェア エコシステム全体にデプロイできるパフォーマンスの大幅な向上を確認できます。

3. 統合

モデルの準備ができたら、ONNX Runtime と DirectML を使用して、ハードウェアアクセラレータによる推論をアプリに導入します。 Generateive AI モデルの場合は、ONNX Runtime Generate() API を使用することをお勧めします

DirectML と ONNX Runtime の使用方法を示すサンプルをいくつか作成しています。

DirectML と PyTorch

Pytorch 用の DirectML バックエンドを使用すると、GPU ハードウェアへの高パフォーマンスで低レベルのアクセスが可能になり、開発者には使い慣れた Pytorch API が公開されます。 DirectML で PyTorch を使用する方法の詳細については、こちらを参照してください

Web アプリケーション用の DirectML (プレビュー)

Web ニューラル ネットワーク API (WebNN) は、WEB アプリとフレームワークが GPU、CPU、または NPU などの専用 AI アクセラレータなどのデバイス上のハードウェアを使用してディープ ニューラル ネットワークを高速化できるようにする新しい Web 標準です。 WebNN API は、Windows 上の DirectML API を利用して、ネイティブ ハードウェア機能にアクセスし、ニューラル ネットワーク モデルの実行を最適化します。 WebNN の詳細については、こちらを参照してください