windowsでkerasを使う

Pocket

kerasで遊ぶ

久々に遊びますかね

今回は
・windows10でkeras
・もちろんGPGPU
・グラボはnVidia製(GTX1070)
・linuxは使わない
・仮想PCも使わない
要は、普通にwindowsでkerasを使うということです
もうlinuxを一から覚える必要はありません

まずは必要なものを対応表を見ながら調べ、リストにします

CUDAの対応表
https://www.tensorflow.org/install/source#linux

tensolflow tensolflowの最新版を基準にします。2.1です
keras 2.3.1にします。バージョン指定せずに入れたらこれで動いてました
python tensolflowに合わせて3.7。そして3.7でも一番新しい、3.7.7にしておきましょう
C++ 最新版で良さそうです。VS2019版かな?
CUDA tensorflowに合わせて10.1
cuDNN CUDAに合わせてv7.6.5
GPUドライバ 418より大きければ良いようなので、最新の446入れました
https://www.nvidia.com/download/index.aspx?lang=en-us

めんどくさっ!
バージョン地獄はpython最大の弱点ですね。

まずはC++のダウンロードしておきましょう、以外と忘れやすいので
https://support.microsoft.com/ja-jp/help/2977003/the-latest-supported-visual-c-downloads
コンパイラか何かが必要なようです。VSが入っていればこれは不要なはず

あと、GPUドライバ。既に入れてる人は多いかもしれませんね
https://www.nvidia.com/download/index.aspx?lang=en-us

pythonのダウンロード。
バージョンは3.7までなので、3.7.7にしておきました。
(実は最初に何も見ずに3.8を入れて動かなくなりました)
必ず64bitでインストールします
https://www.python.org/downloads/release/python-377/
この中の「Windows x86-64 executable installer」をクリックしてインストール

ここからちょくちょく出てくるpipというものは、linux版のappstoreみたいなもんです。
今回の場合だとpython入れると付いてきます
※なのでpipでpython自体をインストールすることは出来ません

次はpip経由でkerasをインストールします

コマンドプロンプトで以下を入力
pip install –upgrade pip
pip install keras
pip install tensorflow-gpu
pip自体のアップグレード、kerasのインストールとtensorflow-gpuのインストールです
※コマンドプロンプトでpythonコマンドはまだ入力しなくていい

CUDAを入れる
10.1
https://developer.nvidia.com/cuda-10.1-download-archive-base

ネットワークインストールとexeインストールどちらが良いか?
・ネットワークインストールなら最初のexeは小さくて、後はそれを実行するとパッケージを更にダウンロードするというもの
・exeインストールは最初から全部落として全部インストールするという方式です
どちらでも良いですが、個人的にはネットワークインストールの方が良いと思います。
※余談ですが、こういうのは感覚に任せて新しそうな方式を選択するとトラブルが少ないです。開発者が力を入れていると思われるため

cuDNNいれる
何故かこれだけアカウント登録が必要。
https://developer.nvidia.com/cudnn
10.2も行けそうですが、CUDAが10.1までと言っています。
Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1
にしましょう

ダウンロード後は
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
にコピー

パスを通す
パスを通しておけば、プログラムがこの名前でショートカットを利用できるようになります
今回はあったら便利、ではなく必須です
windowsの検索で「システム環境変数」で見つかります

CUDAのパスを通す
CUDA_PATH
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

cuDNNのパスを通す
CUDNN_PATH
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

コマンドプロンプトを再起動
上手く行かない場合はPCごと再起動した方がいいかも

一旦テストをしてみる(失敗)
import tensorflow as tf
sess = tf.Session()
hello = tf.constant('Hello’)
print(sess.run(hello))

上記コードは、以下のエラーが出ます
AttributeError: module 'tensorflow’ has no attribute 'Session’
凄く基本的なコードだけのHello worldだったのですが、それすら変わってしまったのです
変わらないものなど、無いのですね

現在のHello worldはこのような感じです

import tensorflow as tf
message = tf.constant('hello’)
tf.print(message)

これで完了です
さーて、遊びますかねー

あと身も蓋も無いことを言うと、こういうサイト見るよりも公式見たほうが早いです。でも書いちゃう
https://www.tensorflow.org/install
https://www.tensorflow.org/install/gpu