はじめに
Anaconda環境でTensorFlow2.4.1を用いてコードを書いていたのですが、TensorFlow2.6以降に追加された関数を利用したかったので、下記のようにcodnaインストールできるバージョンを探してみました。
conda search tenosrflow-gpu
すると、「tensorflow-gpu 2.4.1」(Anacondaのバージョンによっては「tensorflow-gpu 2.5.0」)が最新のバージョンとなっており、望む結果ではありませんでした。
#conda install tensorflow と tensorflow-gpu
TensorFlow2.x系は基本的にGPUを用いるので、「tensorflow」と「tensorflow-gpu」のどちらをインストールしてもGPUを用いることができるらしい(先に結論:condaではできない)ので、インストール可能な「TensorFlow」のバージョンを調べてみました。
conda search tensorflow
すると、「tensorflow 2.6.0」が最新のバージョンとなっていました。試しに(以下、失敗しますが)「tensorflow 2.6.0」を念のため仮想環境内でインストールしてみます。
conda create -n tf260 tensorflow=2.6.0
これで、TensorFlow2.6.0をインストールすることができたので、Pythonを起動してGPUを認識できているかを確認します。
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
結果、GPUを認識していなことが分かります。ここから、conda installでGPUを利用したい場合は「tensorflow-gpu」をインストールする必要があるということが分かりました。
解決策はpip
Anacondaを利用する際には基本的にconda installを利用するように心掛けていますが、今回は仕方ないのでpip installを用いることにします。念のため仮想環境内で作業します。
conda create -n tf260pip pip
conda activate tf260pip
pip install tensorflow==2.6.0
これで正常にtensorflow2.6.0をインストールすることができました!では、GPUを認識しているかどうかを確認してみると(先ほどのコードを再利用)、しっかりとGPUを認識していることが分かります!
conda install でGPUに対応したTensorflowをインストール
conda installする際にビルドを指定することで、CUDAやcuDNNも同時にインストールすることができるようです。詳しくは以下の記事に記載しています。
conda install のみでTensorFlowとGPU環境(CUDA、cuDNN)を構築する
まとめ
知っている方も多いと思いますが、condaとpipでインストールする際の参照先は異なります。condaの場合でGPU環境を利用したいなら「tensorflow-gpu」をインストールする必要がありますが、pipの場合は「tensorflow」をインストールすることでGPUを認識することができるようです。