TensorFlow GPU版をWindows 10にインストール
Window 10にTensorFlowをインストールして使っていたのだが、PyTorchで遊ぶ環境を作っていたら、 (たぶんPython 3.6にしたことが原因だけど)いつの間にかTensorFlowが動かなくなっていたので、再インストールした。 ここに、その手順を備忘録として残しておく。
なお、環境は次の通り。
- OS: Windows 10 Pro 64bit
- GPU: NVIDIA GeForce GTX 1080
- CUDA: 9.0
- cuDNN: 7.0.5
1. Anaconda3-4.4.0 をインストール
Anacondaのアーカイブ にアクセスして、Anaconda3-4.4.0-Windows-x86_64.exe
をダウンロード&インストール。
2. Python3.5 をインストール
Anaconda3-4.4.0により、Python 3.6がインストールされるが、Window 10では、Python 3.6とTensorFlowの相性が良くないらしい。
そのため、Python 3.5
をcondaでインストール。
> conda install python==3.5
3. TensorFlow 1.5をインストール
Build from source on Windowsによると、
CUDA 9とcuDNN 7の組合せの場合、TensorFlow GPU版はv1.5~1.12が使えるとある。
こちらを参考にCUDAとcuDNNのバージョンを確認したところ、
CUDA 9.0
とcuDNN 7.0.5
だった。この組合せの場合は、tensorflow_gpu-1.5.0
が無難そうである。
なので、pip
でtensorflow_gpu-1.5.0をインストールする。
なお、condaを使うと必ずエラーになるという罠に何度もかかったので注意。pipを使う。
> pip install tensorflow-gpu==1.5
しかし、以下のようなエラーが出る場合がある。
... AttributeError: '_NamespacePath' object has no attribute 'sort'
これはpipがエラーの原因なので、easy_install
でpip
をインストールし直す。
pipが壊れたのは、condaでPython 3.5にしたのが原因と思われる。やはりconda、良さそうに見えて罠が多い。
> easy_install pip
これでpipが使えるようになったので、再度pipでtensorflow_gpu-1.5.0をインストールする。
> pip install tensorflow-gpu==1.5
次のようにDEPRECATIONが出るが、とりあえずOK。
... `DEPRECATION: Uninstalling a distutils installed project (html5lib) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.` ...
4. Numpy 1.14をインストール
Pythonを起動して、TensorFlow
をimport
すると、またしてもエラーが出る。
>>> import tensorflow as tf ... ImportError: cannot import name 'multiarray'
これはnumpyのエラーなのだが、こちらのIssueによると、
TensorFlow 1.6以上は、numpy 1.13.3以上である必要がある、とのこと。
TensorFlow 1.5だが、とりあえずconda
でnumpy 1.14
を入れてみる。
> conda install numpy==1.14
これでOKのはず。
5. TensorFlowの動作確認
最終的には以下のように、これまでインストールしてきたモノとバージョンが確認できればOK。
> python Python 3.5.0 |Anaconda 4.4.0 (64-bit)| (default, Dec 1 2015, 11:46:22) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import tensorflow as tf >>> tf.__version__ '1.5.0' >>>
参考文献
- Anaconda installer archive
- Windows10にtensorflowを入れるための備忘録 - @zyaxan
- Build from source on Windows
- 環境構築したCUDA及びcuDNNのバージョンを確認する方法(Windows) - 技術的特異点
- pip3 error - '_NamespacePath' object has no attribute 'sort' - stackoverflow
- Tensorflow 1.5.0 manylinux binary requires Numpy 1.14.1 - tensorflow/tensorflow