「Windows 11でGPU版のTensorFlowを動かしたい 」
「TensorFlow(GPU版)のインストール条件がよくわからない・・・」
このような場合には、この記事の内容が参考になります。
この記事では、Windows 11へTensorFlow 2.6.0(GPU版)をインストールする方法を解説しています。
本記事の内容
- TensorFlow 2.6.0(GPU版)のシステム要件
- Python 3.9のインストール
- コンパイラ(MSVC 2019)のインストール
- CUDA 11.2のインストール
- cuDNN 8.1のインストール
- TensorFlow 2.6.0(GPU版)のインストール
- TensorFlow 2.6.0(GPU版)の動作確認
それでは、上記に沿って解説していきます。
TensorFlow 2.6.0(GPU版)のシステム要件
現時点(2022年10月末)でのTensorFlow の最新バージョンは、2.10.0となります。
TensorFlow 2.10.0は、2022年9月7日にリリースされています。
しかし、このバージョンはまだ正式にはGPUをサポートしていません。
(※実は、TensorFlow 2.10.0はGPUで動きます)
正式にGPUをサポートしているバージョンは、以下ページで確認できます。
Windows でのソースからのビルド | TensorFlow
https://www.tensorflow.org/install/source_windows#tested_build_configurations
上記ページを見ると、現状ではTensorFlow 2.6.0が最新のバージョンとなります。
ここに記載されているモノが、TensorFlow 2.6.0(GPU版)のシステム要件です。
- Python 3.9(最も新しいモノを選択)
- Python MSVC2019
- CUDA 11.2
- cuDNN 8.1
これらがWindowsでTensorFlow 2.6.0(GPU版)を動かすために必要となります。
ビルドツールは、ソースからビルドしない限りは不要です。
以上、TensorFlow 2.6.0(GPU版)のシステム要件を説明しました。
次は、Python 3.9のインストールを説明します。
コンパイラ(MSVC 2019)のインストール
コンパイラ(MSVC 2019)のインストールは、次の記事で説明しています。
インストール済みかどうかは、次のコマンドで確認できます。
「cl」をコマンドプロントで実行してみましょう。
C:\>cl Microsoft(R) C/C++ Optimizing Compiler Version 19.29.30146 for x86 Copyright (C) Microsoft Corporation. All rights reserved. 使い方: cl [ オプション... ] ファイル名... [ /link リンク オプション... ]
上記のように、バージョンが19で表示されればOKです。
以上、コンパイラ(MSVC 2019)のインストールを説明しました。
次は、CUDA 11.2のインストールを説明します。
CUDA 11.2のインストール
CUDA 11.6がすでにインストール済みの状態です。
この状態でCUDA 11.2をインストールします。
CUDA のインストールは、次の記事で詳しく解説しています。
CUDA Toolkit Archive | NVIDIA Developer
https://developer.nvidia.com/cuda-toolkit-archive
CUDAの過去バージョンは、上記ページからダウンロードできます。
以前はログイン不要でダウンロード可能でした。
しかし、現在はダウンロードにログイン必須となっています。
そのため、ログインしてページにアクセスしましょう。
そして、CUDA 11.2の中で最新のバージョンを選びます。
リンクを選択すると、詳細ページに遷移。
インストールするマシンのOSやアーキテクトを選択します。
Windows 11がないので、Windows 10を選びます。
表示されたモノをダウンロードします。
ダウンロードしたインストーラーを実行。
今回は、追加で古いCUDAをインストールします。
そのため、インストールの際のオプションに注意!!
CUDAだけを選択。
インストール先は、デフォルトでOK。
インストールしたら、次のように環境変数が追加されています。
あと、「CUDA_PATH」の値が変更されています。
これは変更前の「v11.6」に戻しておきます。
環境変数を見る以外に、コマンドでもインストールを確認できます。
まず、コマンドのパスを確認します。
フルパスでバージョン表示の動作を確認できます。
以上、CUDA 11.2のインストールを説明しました。
次は、cuDNN 8.1のインストールを説明します。
cuDNN 8.1のインストール
cuDNNのインストールは、次の記事内で詳しく説明しています。
上記記事に従って、インストール作業を進めます。
最初は、cuDNNのダウンロードからです。
cuDNN Download | NVIDIA Developer
https://developer.nvidia.com/rdp/cudnn-archive
cuDNNのダウンロードには、ログイン必須となります。
そのため、ログインした状態で上記ページにアクセス。
そして、該当のcuDNNを選択します。
Windows版を選びます。
「cudnn-11.2-windows-x64-v8.1.1.33.zip」がダウンロードされます。
ZIPを解凍して、中身のディレクトリをCUDAのインストール先にコピーします。
デフォルトであれば、CUDA 11.2は次の場所にインストール済みです。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
コピーする際、管理者権限が必要という趣旨の警告が出るかもしれません。
この場合は、管理者権限でPowerShellを起動します。
コピー元のディレクトリに移動して、次のコマンドを実行しましょう。
> Copy-Item bin 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2' -Force -Recurse > Copy-Item include 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2' -Force -Recurse > Copy-Item lib 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2' -Force -Recurse
これで管理者権限の問題をクリアできます。
以上、cuDNN 8.1のインストールを説明しました。
次は、TensorFlow 2.6.0(GPU版)のインストールを説明します。
TensorFlow 2.6.0(GPU版)のインストール
検証は、次のバージョンのPythonで行います。
> python -V Python 3.9.13
まずは、現状のインストール済みパッケージを確認しておきます。
> pip list Package Version ---------- ------- pip 22.3 setuptools 65.5.0 wheel 0.37.1
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、TensorFlow 2.6.0(GPU版)のインストールです。
TensorFlow 2.6.0(GPU版)のインストールは、以下のコマンドとなります。
pip install tensorflow==2.6.5
TensorFlow 2.6系で最新のバージョンを選択しています。
TensorFlow のインストールは、しばらく時間がかかります。
処理が終了したら、どんなパッケージがインストールされたのかを確認します。
> pip list Package Version ----------------------- --------- absl-py 0.15.0 astunparse 1.6.3 cachetools 4.2.4 certifi 2022.9.24 charset-normalizer 2.1.1 clang 5.0 flatbuffers 1.12 gast 0.4.0 google-auth 1.35.0 google-auth-oauthlib 0.4.6 google-pasta 0.2.0 grpcio 1.50.0 h5py 3.1.0 idna 3.4 importlib-metadata 5.0.0 tensorboard 2.6.0 tensorboard-data-server 0.6.1 tensorboard-plugin-wit 1.8.1 tensorflow 2.6.5 tensorflow-estimator 2.6.0 termcolor 1.1.0 typing-extensions 3.10.0.2 urllib3 1.26.12 Werkzeug 2.2.2 wheel 0.37.1 wrapt 1.12.1 zipp 3.10.0
以上、TensorFlow 2.6.0(GPU版)のインストールを説明しました。
次は、TensorFlow 2.6.0(GPU版)の動作確認を説明します。
TensorFlow 2.6.0(GPU版)の動作確認
TensorFlowが適切に動作するかどうかは、次のコードで確認できます。
import tensorflow as tf print(tf.__version__)
上記コードを実行すると、インストールしたTensorFlowのバージョンが表示されます。
2.6.5
ただし、上記コードはCPU版のTensorFlowでも同じような結果を返します。
このままだと、GPU版の動作を確認できません。
GPU版の動作(認識)を確認するには、次のコードを利用します。
from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())
上記コードを実行すると、次のような表示が確認できるはずです。
[name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 6159826458537070052 xla_global_id: -1 , name: "/device:GPU:0" device_type: "GPU" memory_limit: 22729785344 locality { bus_id: 1 links { } } incarnation: 4499369698511327930 physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 3090, pci bus id: 0000:01:00.0, compute capability: 8.6" xla_global_id: 416903419 ]
表示された中から、「device_type: “GPU”」が確認できたら成功です。
GPU版のTensorFlowが、適切に動作できています。
逆に、「device_type: “CPU”」しか確認できないと、インストールに失敗していることになります。
以上、TensorFlow 2.6.0(GPU版)の動作確認を説明しました。