にせねこメモ

はてなダイアリーがUTF-8じゃないので移ってきました。

Windows 10+AnacondaでGPU版TensorFlow 2.3.0がうまく入らなかった

概要

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