以前の記事でTensorflowの環境構築について書きましたが、「pip install tensorflow-gpu」等のpipのコマンドでTensorflowをインストールしていると、あんまりTensorflowのバージョンには気を遣わなかったりもします。
しかし、気づけば昨年の夏くらいには1.3.0だったTensorflowのバージョンも、気づけば1.4.0になり、今は既に最新で1.5.0となっています。
「pip install tensorflow-gpu」でTensorflowをバージョン指定せずに入れると、自動的に最新版が入ります。
よって、仮想環境を構築した時期によって、入るTensorflowのバージョンが変わってしまいます。
それで何が厄介かというと、Tensorflowのバージョンによって、推奨されるCUDAやcuDNNのバージョンが違ってきます。
要するに、今まではCUDA8+cuDNNv5.1で良かったのが、気づけばCUDA8+cuDNNv6.0じゃないと駄目になっていたり、CUDA9+cuDNNv6.0じゃないと駄目になっていたりするわけです。
よって、過去記事の
GPU版TensorFlow環境構築(Windows 10)
あたりを見て、今CUDA8+cuDNNv5.1とかの環境で「pip install tensorflow-gpu」でTensorflowを入れてしまうと、たぶんうまくコードが実行できないんじゃないかな。
Tensorflowの公式を見たら、
…… then the following NVIDIA software must be installed on your system:
CUDA® Toolkit 9.0……
とか書いてありますし、さっき試しに仮想環境作ってみたんですが、
ImportError: Could not find ‘cudart64_90.dll’. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-toolkit
試しにコードを実行してみたら、上記のようにCUDA9.0入れろよって怒られてしまいました。
Tensorflow1.5.0の環境構築はいずれしたいんですが、敢えて今、わざわざもう一回CUDAやらcuDNNやら取ってくるのめんどくさいよねってときもあると思います。
なので、過去バージョンのTensorflowを入れる方法について書いておきます。
その前に、そもそも自分のTensorflowのバージョンを確認してみましょう。
「Anaconda Prompt」を開き、
バージョンを見たい仮想環境に入った状態(activate (仮想環境名))で、「pip list」コマンドで確認が可能です。
この状態だとTensorflow1.5.0が入っていますね。現状最新版が1.5.0なので、何も考えずに入れるとこうなると思います。
で、例えば1.3.0を入れたいと思ったとします。
そのときは、
「pip install tensorflow-gpu==1.3.0」
とバージョンを指定してやればOKです。
もう一度「pip list」すると、確かにバージョンが変わったことがわかります。
(1) Tensorflowのバージョンを確認したい。
pip list
(2) バージョンを指定してTensorflowをインストールしたい(GPU版)。
pip install tensorflow-gpu==【バージョン番号】