Edited at

ザコ大学生がKerasについてどんなものか簡単にまとめてみた

More than 1 year has passed since last update.


Deep Learning フレームワーク "keras" について


kerasとは

karasはTheanoやTensorFlowに対応したDeep Learning用のラッパーライブラリ。読み方は"ケラス"らしい。

元々はTheanoをバックエンドに採用していたが、最近TensorFlowにも対応した。自分はTensorFlowをバックエンドに使用する予定ので、Theanoについてはオラ、さっぱどわかんね。

余談だが、chainer大好きな日本人がchainerの学習済みモデルをkeras.jsに渡して使おうとしていて、kerasの開発者を「意味分からない。最初からKeras使ったほうが良くない?」と困惑させたことがある。(twitterで開発者本人の公式アカウントから"日本語"でツイートされた。)

TensorFlowをバックエンドに、直感的な記述でニューラルネットを記述できるのがkerasのメリットで、

TensorFlowで十数行〜数十行に渡る部分を数行のコードで実装できる(らしい)。


あくまでTensorFlowの機能をラップしているので、TensorFlowにない機能をkerasで実現することはできない。また、直感的に記述ができる反面、処理がブラックボックス化されるので(TensorFlowが動いているので仕組みは理解できるが)、細かい操作を変更することができない。


とは言っても、独自の計算式を考案して学習に実装したいだとか、

独自のネットワークで実験したいだとかのやべぇやつガチ勢でなければ問題はなさそう。


どんな人に向いているのか

・とりあえず深層学習させてみたいマン

・初めての深層学習マン

・pythonにそこまで自信ないマン (自信ある人はChainerのが良さげ?)

・非ガチ勢の学生

・簡単な深層学習を実装させたい人

・俺


インストール

$ pip install -U tensorflow

$ pip install -U keras

numpyなどの依存ライブラリは合わせてインストールできる。正常にインストールできたかの確認は以下を参考に。

$ python

>>> import keras
Using TensorFlow backend.
>>>


インストールできてない!!ってときは

macであれば、デフォルトのpythonではなく別でインストール(筆者はver3.6.0)して



$ pyenv global 3.6.0(使用したいバージョン)

$ pyenv rehash



これで切り替えてみてはどうかしら。pyenvについては割愛。


最後に

ここまで書いておいて、kerasに関してはサンプルすら動かしてません。ごめんなさい。

TensorFlowとChainerに関してはチュートリアルを動かした程度で理解が浅いため、間違いがあれば是非指摘してご教授いただければと思います。