Windows で DirectML を使った PyTorch を有効にする
DirectML を使用した PyTorch は、開発者が Windows マシン上で最新かつ最高級の AI モデルを試すための使いやすい方法を提供します。 torch-directml PyPi パッケージをインストールすることで、DirectML で PyTorch をダウンロードできます。 設定が完了したら、サンプルから始める、または AI Toolkit for VS Code を使用することができます
Windows のバージョンを確認する
ネイティブ Windows 上の torch-directml パッケージは、Windows 10 バージョン 1709 (ビルド 16299 以降) 以降で動作します。 ビルド バージョン番号を確認するには、実行コマンド (Windows ロゴ キー + R) を使用して winver
を実行します。
GPU ドライバーの更新プログラムを確認する
最新の GPU ドライバーがインストールされていることを確認します。 設定アプリの [Windows Update] セクションで [更新プログラムのチェック] を選択します。
Torch-DirectML を設定する
Windows 内で仮想 Python 環境を設定することをお勧めします。 仮想 Python 環境のセットアップに使用できるツールは多数あります — これらの手順では、Anaconda の Miniconda を使用します。 このセットアップの残りの部分では、Miniconda 環境を使用するものとします。
Python 環境を設定する
システムに Miniconda Windows インストーラーをダウンロードしてインストールします。 Anaconda のサイトに、セットアップに関する追加のガイダンスがあります。 Miniconda がインストールされたら、Python を使用して pytdml という名前の環境を作成し、次のコマンドでアクティブ化します。
conda create --name pytdml -y
conda activate pytdml
PyTorch と Torch-DirectML をインストールする
Note
torch-directml パッケージは PyTorch 2.2 までをサポートします。
セットアップに必要なのは、次のコマンドを実行して torch-directml の最新リリースをインストールすることのみです。
pip install torch-directml
検証とデバイスの作成
torch-directml パッケージをインストールしたら、2 つのテンソルを追加することで、正常に実行されることを検証できます。 最初に対話型の Python セッションを開始し、次の行で Torch をインポートします。
import torch
import torch_directml
dml = torch_directml.device()
torch-directml プラグインの現在のリリースは、"PrivateUse1" Torch バックエンドにマップされています。 torch_directml.device() API は、テンソルを DirectML デバイスに送信するための便利なラッパーです。
DirectML デバイスを作成したら、2 つの単純なテンソルを定義できるようになりました。1 を含む 1 つのテンソルと 2 を含む別のテンソルです。 テンソルを "dml" デバイスに配置します。
tensor1 = torch.tensor([1]).to(dml) # Note that dml is a variable, not a string!
tensor2 = torch.tensor([2]).to(dml)
テンソルを一緒に追加し、結果を出力します。
dml_algebra = tensor1 + tensor2
dml_algebra.item()
次の例のように、出力される数値 3 が表示されます。
>>> import torch
>>> tensor1 = torch.tensor([1]).to(dml)
>>> tensor2 = torch.tensor([2]).to(dml)
>>> dml_algebra = tensor1 + tensor2
>>> dml_algebra.item()
3
DirectML を使った PyTorch のサンプルとフィードバック
DirectML を用いた PyTorch とのその他の使用方法については、サンプルを参照してください。 問題が発生した場合、または DirectML を使った PyTorch のパッケージに関するフィードバックがある場合は、こちらの Microsoft のチームまでお問い合わせください。