LoginSignup
7
2

More than 5 years have passed since last update.

keras2のざっくり説明とkerasブログ翻訳

Last updated at Posted at 2017-03-18

古いコードを動かす場合は過去のバージョンを指定してください。

sudo pip install keras==1.2.0

大まかにいうと

cntkや他のフレームワークをラッピングしていこうという考えがあるようです。
keras2は長期サポートされると言っています。
apiの名前が変わったり、削除されたりしています。

cntk
https://github.com/fchollet/keras/issues/5299


kerasブログの訳です。Tue 14 March 2017

Kerasは2年前、2015年3月にリリースされました。その後、1人のユーザーから10万人に成長しました。

keras_users_2015_2016.png

何百人もの人々がKerasコードベースに貢献しています。 多くの人々がコミュニティに貢献してきました。 Kerasは新しいスタートアップを可能にし、研究者をより生産的にし、大企業のエンジニアのワークフローを簡素化し、以前の機械学習経験を持たずに何千人もの人に深く学びました。 そして、これはほんの始まりだと私たちは信じています。

今度は、TensorFlowとの一貫性をもたらす新しいAPI(さらに使いやすくなっています)を使用してKeras 2をリリースします。 これは、コアTensorFlowにKeras APIを統合する準備の主要なステップです。

多くのことが変わりました。 これは簡単な要約です。

TensorFlowインテグレーション

Kerasは2015年12月からTensorFlowをランタイムバックエンドとしてサポートしてきましたが、Keras APIはこれまでTensorFlowコードベースから分離されていました。これは変化しています:Keras APIは、TensorFlow 1.2から始まって、TensorFlowの一部として直接利用できるようになりました。これは、TensorFlowに次の100万人のユーザーがアクセスできるようにする大きなステップです。

Kerasは、特定のコードベースとしてではなく、API仕様として最もよく理解されています。事実、fowardsには、Keras仕様の2つの別々の実装があります。内部のTensorFlowはtf.kerasとして利用でき、純粋なTensorFlowで書かれ、すべてのTensorFlow機能と深く互換性があります。また、外部のマルチバックエンドはTheanoとTensorFlow(将来的にはさらに多くのバックエンド)

同様に、SkymindはScalNetとしてScalaのKeras仕様の一部を実装しており、Keras.jsはJavaScriptでKeras APIの一部を実装しており、ブラウザで実行されています。そのため、Keras APIは、基盤となるプラットフォームとは無関係に、多くの異なるワークフローで共有される共通言語である深い学習実践者の共通言語となります。 Kerasのような統一されたAPIコンベンションでは、コードの共有や研究の再現性が向上し、より大きなサポートコミュニティが可能になります。

APIの変更

新しいKeras 2 APIは、最初の長期サポートAPIです。Keras 2で作成されたコードベースは、今後数年間、最新のソフトウェアで実行されるはずです。これを可能にするために、我々はこのリリースでAPIを大幅に再設計し、今後のほとんどの問題を先取りしました。特に、新しいAPIの選択肢はTensorFlowの規約と完全に互換性があります。

ほとんどのレイヤのAPI、特に全結合、バッチノーマライゼーション、およびすべての畳み込みレイヤが大幅に変更されました。しかし、Keras 1のコードはKeras 2で引き続き問題なく実行されるように互換インターフェースを設定しています(レイヤー呼び出しを新しいAPIに変換するのに役立つ警告を表示しています)。
ジェネレータのトレーニングと評価方法のAPIが変更されました(fit_generator、predict_generator、およびevaluate_generator)。 Keras 1のcallsはKeras 2でも引き続き使用できます。
fitでは、nb_epochはエポックに改名されました。この変更はAPI変換インターフェースでも処理されます。
多くのレイヤーで保存されたウェイトフォーマットが変更されました。ただし、Keras 1で保存された重み付きファイルは、Keras 2モデルでもロードできます。
objectives moduleはlossesに変更されました。

重大な変更

Kerasの大規模なユーザーベースを念頭に置いて、我々は変更の数を最小限に抑えるために最善を尽くしました。 ただし、特に高度なユーザーにとっては、いくつかの障害が避けられません。

レガシーレイヤMaxoutDense、TimeDistributedDense、およびHighwayは永久に削除されました。
多数のレガシーメトリックと損失関数が削除されました。
BatchNormalizationレイヤーはmode引数をサポートしなくなりました。
Keras内部が変更されたため、カスタムレイヤーを更新する必要があります。 比較的少ししか変更されていないので、すばやく簡単です。 このガイドを参照してください。
https://keras.io/layers/writing-your-own-keras-layers/
一般に、文書化されていないKeras機能を使用していたコードは壊れている可能性があるため、上級ユーザーには何らかの更新が行われる可能性があります。

始めに

PyPIからKeras 2をインストールする
:pip install keras --upgrade
Githubのコードをチェックしてください。
https://github.com/fchollet/keras
更新されたドキュメントを読んでください。
https://keras.io/

コントリビューター

Keras 2リリースに特別に貢献したコミッター
Abhai Kollara Dilip
Achal Shah
Alexandre Kirszenberg
Ariel Rokem
Arpit Agarwal
Bas Veeling
Daniel Høyer Iversen
Daniel Seichter
Davy Song
Fariz Rahman
Fred Schroeder
Frédéric Bastien
Gijs van Tulder
Hannah Vivian Shaw
Hiroya Chiba
Joseph Jin-Chuan Tang
Joshua Chin
Michael Oliver
Paul Fitzpatrick
Pokey Rule
Rizky Luthfianto
Vasilis Vryniotis
@Spotlight0xff
@jarfo
@jihobak

コードの変更点はこちら

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2