Windows で DirectML を使った TensorFlow を有効にする

このリリースでは、TensorFlow 1.15 用の DirectML を使った TensorFlow パッケージを使用して、既存のハードウェアで機械学習 (ML) トレーニングを実行する方法を学生、初心者、専門家に提供します。 TensorFlow 2 で DirectML を使用するには、TensorFlow-DirectML-Plugin を確認してください。 設定が完了したら、既存のモデル スクリプトを使用するか、DirectML リポジトリセットアップのいくつかのサンプルをご覧ください。

Windows のバージョンを確認する

ネイティブ Windows 上の DirectML を使った TensorFlow パッケージは、Windows 10 バージョン 1709 (ビルド 16299 以降のバージョン) で動作します。 ビルド バージョン番号を確認するには、実行コマンド (Windows ロゴ キー + R) を使用して winver を実行します。

GPU ドライバーの更新プログラムを確認する

最新の GPU ドライバーがインストールされていることを確認します。 設定アプリの [Windows Update] セクションで [更新プログラムのチェック] を選択します。

DirectML を使った TensorFlow を設定する

Windows 内で仮想 Python 環境を設定することをお勧めします。 仮想 Python 環境のセットアップに使用できるツールは多数あります — これらの手順では、Anaconda の Miniconda を使用します。 このセットアップの残りの部分では、Miniconda 環境を使用するものとします。

Python 環境をセットアップする

システムに Miniconda Windows インストーラーをダウンロードしてインストールします。 Anaconda のサイトに セットアップに関する追加のガイダンス があります。 Miniconda がインストールされたら、Python を使用して directml という名前の環境を作成し、次のコマンドでアクティブ化します。

Note

以下のコマンドでは、Python 3.6 を使用します。 ただし、tensorflow-directml パッケージは Python 3.5、3.6、または 3.7 環境で動作します。

conda create --name directml python=3.6 

conda activate directml 

DirectML を使った TensorFlow パッケージをインストールする

次のコマンドを実行して、DirectML を使った TensorFlow パッケージを pip でインストールします。

Note

tensorflow-directml パッケージでは、TensorFlow 1.15 のみがサポートされています。

pip install tensorflow-directml

tensorflow-directml パッケージをインストールしたら、2 つのテンソルを追加することで、正常に実行されることを確認できます。 以下の行を対話型の Python セッションにコピーします。

import tensorflow.compat.v1 as tf 

tf.enable_eager_execution(tf.ConfigProto(log_device_placement=True)) 

print(tf.add([1.0, 2.0], [3.0, 4.0])) 

DML デバイスでadd 演算子を使った場合、次のような出力が表示されます。

2020-06-15 11:27:18.235973: I tensorflow/core/common_runtime/dml/dml_device_factory.cc:45] DirectML device enumeration: found 1 compatible adapters. 

2020-06-15 11:27:18.240065: I tensorflow/core/common_runtime/dml/dml_device_factory.cc:32] DirectML: creating device on adapter 0 (AMD Radeon VII) 

2020-06-15 11:27:18.323949: I tensorflow/stream_executor/platform/default/dso_loader.cc:60] Successfully opened dynamic library DirectMLba106a7c621ea741d2159d8708ee581c11918380.dll 

2020-06-15 11:27:18.337830: I tensorflow/core/common_runtime/eager/execute.cc:571] Executing op Add in device /job:localhost/replica:0/task:0/device:DML:0 

tf.Tensor([4. 6.], shape=(2,), dtype=float32) 

DirectML を使った TensorFlow のサンプルとフィードバック

サンプルを確認するか、既存のモデル スクリプトを利用してください。 問題が発生した場合や、DirectML を使った TensorFlow パッケージに関するフィードバックがある場合は、Microsoft のチームまでお問い合わせください