始めに
以前記録した、WindowsにTensorflowを入れてみるの総まとめです。
参照
「TensorFlowのオリジナルのインストールページ」
https://www.tensorflow.org/install/install_windows
Visual C 2015再配布のライブラリインストール
CUDA9.0で必要なのだが、9.2の情報しか無い…
一応9.2では、2010、2012、2013、2015,
2017のいずれかがあれば行ける模様。ただし、64bit環境において32bitのCrossしてる場合は、2010、2012、2013の持とう。
駄目な理由が無ければ、Microsoft Visual C++ Redistributable一通り入れておいた方が良いんじゃ無いでしょうか?
私は、32bitと64bit共に、2005、2008、2010、2012、2013、2015、2017を入れてあります。
CUDAインストール
「CUDA Toolkit 9.2 Download」
https://developer.nvidia.com/cuda-downloads
から
「Windows」
まで選んだ上で…ページ中段くらいの
「Legacy Releases」
を叩く。
「CUDA Toolkit 9.0」に飛びます。
5つ落として順に入れる。
Windows10だとセキュリティの警告が出るが構わずインストール。
また、特に1つめのファイルが1.5GBとか大きい為に時間が掛かるのと、ダウンロードに失敗している事もある。
# なお、前の掲載より、パッチが1つ増えたのと、ぼちぼち10.0が出る模様…
cuda_9.0.176_win10.exe
cuda_9.0.176.1_windows.exe
cuda_9.0.176.2_windows.exe
cuda_9.0.176.3_windows.exe
cuda_9.0.176.4_windows.exe
%PATH%を確認します。
CUDA\v9.0\binとCUDA\v9.0\libnvvpに通っていれば良さそう。
cuDNNインストール
cuDNN7.0を入れる。
https://developer.nvidia.com/rdp/form/cudnn-download-survey
ログインして、「Software License Agreement」にチェックすると選択肢が現れるが、その中でも枠外に出てくる「Archived cuDNN Releases」を選択。
「Download cuDNN v7.0.5 [Dec5, 2017], for CUDA 9.0」
から
「cuDNN v7.0.5 Library for Windows10」選んで下記を落としてくる。
cudnn-9.0-windows10-x64-7.zip
展開すると「cuda」フォルダ下に、「bin」「include」「lib/x64」フォルダが現れるので、中のファイル(dll)を
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\
の該当するフォルダにコピーする。
Python3.6.6インストール
#素朴な疑問として、3.7.0でも動くんだろうか?
https://www.python.org/downloads/release/python-366/
から
「Windows x86-64 executable installer」
クリックして下記を落とします。
python-3.6.6-amd64.exe
インストールする時は、初期画面で全てのチェックボックスをチェックしないとはまります。
「Customize installation」選んで、「Optional Features」はそのままNext、「Advanced Options」で「Install for all users」にチェックしてインストールした方が良さそう。あと、一応全部チェックした。そして「Install」。
PATHに下記を追加する。
C:\program files\python36\Scripts
Tensorflowご本尊。
先にpipのアップグレードでしょうな。
> python -m pip install --upgrade pip
では。管理者モードでコマンドプロンプト起動後。
> pip install --upgrade tensorflow-gpu
では、Validate your installation
> python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
確認もOK。