Share via


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 のチームまでお問い合わせください