WindowsでPythonを使ったTensorFlow GPUのインストール方法
ガイド
TensorFlow GPUのインストールは、通常のプログラムのようにインストーラー一つで簡単にできるわけではない。色々な問題があった場合、PCを一度初期化してから始める方が楽だし、初めてやるなら10回くらいは初期化する覚悟が必要だ。
ステップ1. NVIDIA GPUドライバーのインストール
NVIDIAコントロールパネルでグラフィックス仕様を確認し、適切なドライバーを選ぶ。言語設定は韓国語でも問題ないが、こういったインストール作業では可能な限り英語を選ぶ方がいい。
インストーラーを実行する。分からなければ、とりあえずデフォルト設定で進む。
ステップ2. pipを通じたtensorflowパッケージのインストール
pip3 install tensorflow-GPU
powershellコンソールから上記のコマンドを入力してtensorflow
をインストールする。
インストールが完了したら、Pythonを実行し、次のコマンドを試してみる。
import tensorflow as tf
エラーではないが、以下のような警告が表示される場合がある。TensorFlow自体には問題ないが、GPUを使用する側に何か問題があるのだ。とりあえず進もう。
2021-04-27 13:47:26.034931: W tensorflow/stream_executor/platform/default/dso_loader.cc:60] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-04-27 13:47:26.035108: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
INFO:tensorflow:Enabling eager execution
INFO:tensorflow:Enabling v2 tensorshape
INFO:tensorflow:Enabling resource variables
INFO:tensorflow:Enabling tensor equality
INFO:tensorflow:Enabling control flow v2
ステップ3. CUDA Toolkitのインストール
powershellに戻り、nvidia-smi
を入力してみる。右上に表示されるように、どのCUDA versionを使用すべきかが出力される。
https://developer.nvidia.com/cuda-toolkit-archive
上記のページから、自分のOSに合ったCUDA Toolkitをインストールする。この場合は2021年4月にリリースされた11.3バージョンをダウンロードした。
ステップ4. cuDNNのインストール
https://developer.nvidia.com/cudnn
ダウンロードしたcuDNN SDKの圧縮ファイルを解凍し、**手動で直接フォルダに貼り付けなければならない。**ちなみに、この段階ではNVIDIAアカウントが必要だ。
ダウンロードしたcudnn-11.3-windows-x64-v8.2.0.53.zip
を解凍すると、次のようにcuda
フォルダができる。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
上記のパスでは、インストールしたCUDAがバージョンごとに分けられている。このポストの場合は、ずっとCUDAのバージョンが11.3だったので、11.3フォルダに入ってみよう。
cuDNN SDKを解凍した際に見られたcuda
の下のbin
、include
、lib
がみえる。これらのフォルダを上書きするようにコピー→貼り付けをしよう。
ステップ5. 確認
import tensorflow as tf
再度Pythonを実行し、上のコマンドでPythonを呼び出してみる。ステップ2と異なり、以下のようにスムーズに実行されることを確認できる。
2021-04-27 14:18:51.570857: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll
INFO:tensorflow:Enabling eager execution
INFO:tensorflow:Enabling v2 tensorshape
INFO:tensorflow:Enabling resource variables
INFO:tensorflow:Enabling tensor equality
INFO:tensorflow:Enabling control flow v2
環境
- OS: Windows
- Python: 3.9.4
- tensorflow-gpu: 2.5.0rc1
- CUDA Toolkit: 11.3