Kerasとtensorflowをgpuを使って動かしたい

作成: 2019年02月25日

更新: 2021年03月29日

やりたいこと

gpuを使って画像の教師データを学習して画像判別プログラムが作りたい

プログラム

ここのプログラムをコピペしました。
Kerasで画像分類~前処理から分類テストまで~
すごく詳しく理論から書いていてわかりやすいです。自分用に拡張もしやすそう。

詰まったところ

上のリンクのプログラムには機械学習のライブラリとしてKerasとKerasの後ろで動くtensorflowが必要です。tensorflowにはCPUで動かすtensorflowとGPUを使って高速で計算するtensorflo-gpuがある。自分のパソコンはgpuがついていて、cpuと速度比較もしてみたいと思ったのでtensorflow-gpuをインストールしようとした。色々調べたが書いてある方法はまちまちで全部うまくいかなかった。そこでこの方法を試すとうまくいった。
※tensorflowやanacondaはバージョンアップを繰り返すので必ずうまくいくわけではないかもしれない
The Best Way to Install TensorFlow with GPU Support on Windows 10 (Without Installing CUDA)
英語だがまとめると

  • ananondaをインストール
  • "conda create --name tf-gpu"によりtensorflow-gpu用の環境を作成
  • "activate tf-gpu"により先ほど作った環境に移動
  • "conda install -c aaronzs tensorflow-gpu"によりtensorflow-gpuをインストール
  • "conda install -c anaconda cudatoolkit"によりcudatoolkitをインストール
  • "conda install -c anaconda cudnn"によりcudnnをインストール

これでとりあえずtensorflow-gpuを使える環境にはなったので"pip install Keras"によりこの環境にKerasをインストール。
あとは"python"によりpythonのインタプリタを起動して次のコードを打ち込みエラーが起きなければ大丈夫。

python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

これでこの環境ではKerasはもう使えるので最初に挙げたリンク先のコードも動きます。

まとめ

CPU用のtensorflowのインストールはそんなに難しくないが、tensorflow-gpuはcudaなどとの組み合わせが重要で難しい。anacondaがうまいことやってくれるようなのでまかせたらうまくいった。
リンク先の画像判別が理解できるようになりたい。