Python
DeepLearning
Keras
PythonDay 25

Deep learning × Python

More than 1 year has passed since last update.

今更ではありますが、今年のPythonキーワードの中で外すことはできないのではないでしょうか?

というわけで今年を振り返ってお世話になったDeepLearning系Pythonライブラリを紹介したいと思います。


Keras

chainer, tensorflow, mxnetなどいろいろなフレームワークが出てますが、単純にGithubのスター数でみると次の順で人気なようです。(12月25日現在)


  1. tensorflow(40959)

  2. keras(10509)

  3. mxnet(7288)

  4. chainer(1910)

tensorflow大人気なのが分かりますね。kerasはコード行数が少なくて済むので好きなのですが、tensorflow-slimなども出てきて、今後もtensorflowベースでより簡単に書けるライブラリが出てきそうです。


keras-rl

kerasを使ったDeep Reinforcement Learingのライブラリです。OpenAI Gymの環境に対応しています。

以下の基本的な深層強化学習のアルゴリズムが実装されています。

Kerasには他にもkerlymというOpenAI Gymに対応した深層強化学習ライブラリもあります。

tensorflowベースのライブラリではrllabというのがあります。こちらはOpenAIが作っていて、規模も大きく、実装されているアルゴリズムが上のものに加えてさらに以下のものがあります。

いろいろこっちも良さそうなのですが、keras-rlのほうがシンプルなのでそっちを使ってます。


keras-resnet

Resnetはネットワークの層を飛躍的に増やすことを可能にしました。Githubをでもかなりたくさんの方が実装しています。kerasに限らず主な実装を上げておきます。


GAN

GANも流行りました。次から次へと新しいGANが提案されてはGithubですぐに実装されるという感じで、すごい競争激しいです。

KerasのGAN専用ライブラリもありました。

GAN用のモデル定義や学習方法がやりやすくなっているようです。


quiver

学習結果などの描画ツールもいろいろ出てます。quiverはKerasでConvnetの描画を行ってくれます。

quiver

その他描画ツールです。

hera


その他

個人的にKeras好きなので、Kerasまわりで気になるツールを集めました。



  • keras-js
    Javascript用のKerasです。


  • keras-resources
    Kerasに関連することを集めています。かなりお世話になってます。


  • elephas
    Kerasで複数のPCを使って、Distributed Deep Learningを行うことができます。


  • hyperas
    Keras用ハイパーパラメータの最適化です。


  • seya
    Kerasをパワーアップさせます。聖闘士星矢の星矢らしいです。