tensorflow-directml-plugin を使った TensorFlow 2 の GPU アクセラレーションを有効化する

重要

このプロジェクトは現在廃止され、積極的に取り組んでいません。

このリリースでは、TensorFlow 2 用の DirectML プラグインを使用して、既存の DirectX 12 対応ハードウェアで機械学習 (ML) トレーニングを実行する方法を学生、初心者、および専門家に提供します。

Note

Python x86-64 3.10 を使用して tensorflow-directml-plugin をインストールできます。 ただし、tensorflow-directml-plugin はバージョン 3.11 以降ではサポートされていません。

tensorflow-directml-plugin を使用して GPU でモデルを実行およびトレーニングするようにデバイスを構成する方法について説明します。

手順 1: 最小 (および最大) のシステム必要条件

TensorFlow-DirectML-Plugin をインストールする前に、Windows または WSL のバージョンで TensorFlow-DirectML-Plugin がサポートされていることを確認してください。

Windows ネイティブ

  • Windows 10 バージョン 1709、64 ビット (ビルド 16299 以降) または Windows 11 バージョン 21H2、64 ビット (ビルド 22000 以降)
  • Python x86-64 3.7、3.8、3.9、または 3.10。 バージョン 3.10 もサポートされている最大バージョンです。
  • サポートされている次のいずれかの GPU:
    • AMD Radeon R5/R7/R9 2xx シリーズ以降
    • Intel HD Graphics 5xx 以降
    • NVIDIA GeForce GTX 9xx シリーズ GPU 以降

Linux 用 Windows サブシステム

  • Windows 10 バージョン 21H2、64 ビット (ビルド 20150 以降) または Windows 11 バージョン 21H2、64 ビット (ビルド 22000 以降)
  • Python x86-64 3.7、3.8、3.9、または 3.10 バージョン 3.10 もサポートされている最大バージョンです。
  • サポートされている次のいずれかの GPU:

最新の GPU ドライバーをインストールする

最新の GPU ドライバーがハードウェアにインストールされていることを確認します。 設定アプリの [Windows Update] セクションで [更新プログラムのチェック] を選択します。 必要に応じて、上記のリンクを使用してハードウェア ベンダーからインストールを取得します。

手順 2: Windows 環境を構成する

Windows ネイティブ

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

Linux 用 Windows サブシステム

上記のドライバーをインストールしたら、WSL を有効にしglibc ベースのディストリビューション (Ubuntu や Debian など) をインストールします。 テストでは、Ubuntu を使用しました。 設定 アプリの [Windows Update] セクションで [更新プログラムの確認] を選択して、最新のカーネルがあることを確認します。

Note

[Windows の更新時に他の Microsoft 製品の更新プログラムを受信する] オプションが有効になっていることを確認します。 設定 アプリの [Windows Update] セクション内の [詳細オプション] で確認できます。

これらの機能には、5.10.43.3 以降のカーネル バージョンが必要です。 バージョン番号は、PowerShell の次のコマンドを実行して確認できます。

wsl cat /proc/version

手順 3: 環境を設定する

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

Miniconda の環境を作成する

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

conda create --name tfdml_plugin python=3.9 

conda activate tfdml_plugin 

Note

tensorflow バージョン >= 2.9、python バージョン >= 3.7 がサポートされています。

手順 4: ベース TensorFlow をインストールする

ベース TensorFlow パッケージをダウンロードします。 現在、directml-pluginは tensorflow–cpu==2.10 で動作し、tensorflow でもtensorflow-gpu でも動作しません。

pip install tensorflow-cpu==2.10

手順 5: tensorflow-directml-plugin をインストールする

このパッケージをインストールすると、コードを変更することなく、既存のスクリプトの DirectML バックエンドが自動的に有効になります。

pip install tensorflow-directml-plugin

Note

トレーニング スクリプトでデバイス文字列を "GPU" 以外にハードコーディングした場合、エラーがスローされる可能性があります。

または、ソースからパッケージをビルドすることもできます。 ソースから tensorflow-directml-plugin をビルドするための手順

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

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