概要
Windows 10上で、Anacondaでtensorflow-gpu 2.3.0をインストールしたが、GPUが認識されなかった。ビルドの自動選択に不具合があるらしく、インストール時にビルドを指定すると問題なく認識されるようになった。
問題
現在、AnacondaのcondaコマンドでインストールできるTensorFlowは2.3.0が最新っぽい。
普通であれば、次のコマンドでGPU版のTensorFlowがインストールできるはずである。
conda install tensorflow-gpu==2.3.0
しかし、Windows 10環境で、上のコマンドでインストールした場合に、pythonで
from tensorflow.python.client import device_lib print(device_lib.list_local_devices())
を見てみると、GPUやXLA_GPUなどのdevice_type
をもつものが表示されず、GPUを認識していないようだった。
解決法
なぜかWindows 10のAnacondaのTensorFlow 2.3.0において、ビルドの自動選択がうまく動いていないらしい。
そのため、ビルドを自分で指定してやるとうまくインストールできる。
Python 3.8をインストールする場合、conda install tensorflow-gpu==2.3.0
の代わりに
conda install tensorflow-gpu=2.3 tensorflow=2.3=mkl_py38h1fcfbd6_0
とするといいらしい。例えば次のようなコマンドになる。
conda create -n tf230gpu python=3.8 conda activate tf230gpu conda install tensorflow-gpu=2.3 tensorflow=2.3=mkl_py38h1fcfbd6_0