GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

keras-team

keras – 人間のためのディープラーニング

投稿日:

人間のための深い学習 http://keras.io/

ケラス:人間のための深い学習

あなたはKerasを見つけました。

Kerasは、Pythonで書かれた、 TensorFlowCNTKTheanoの上で実行可能な高水準のニューラルネットワークAPIです。 これは、迅速な実験を可能にすることに重点を置いて開発されました。 可能な限り遅れてアイデアから結果に行くことができることは、良い研究をする上で重要です。

深い学習ライブラリが必要な場合は、Kerasを使用します。

  • 簡単で素早いプロトタイプ作成が可能(ユーザーフレンドリー、モジュール性、拡張性)
  • 畳み込みネットワークと再帰ネットワークの両方、およびこれら2つの組み合わせをサポートします。
  • CPUとGPUでシームレスに実行されます。

Keras.ioのドキュメントを読んでください

KerasはPython 2.7-3.6と互換性があります。


ガイダンスの原則

  • ユーザーフレンドリー。 Kerasは、人間ではなく機械向けに設計されたAPIです。 ユーザーエクスペリエンスをフロントとセンターに置きます。 Kerasは、コグニティブロードを軽減するためのベストプラクティスに従い、一貫性のある&シンプルなAPIを提供し、一般的な使用事例に必要なユーザーアクションの数を最小限に抑え、ユーザーエラー時に明確で実用的なフィードバックを提供します。

  • モジュール性。 モデルとは、可能な限り制限をかけずに接続できるスタンドアロンの完全設定可能なモジュールのシーケンスまたはグラフとして理解されています。 特に、ニューラル・レイヤー、コスト関数、オプティマイザ、初期化スキーム、アクティベーション・ファンクション、正規化スキームはすべて、新しいモデルを作成するために組み合わせることができるスタンドアロン・モジュールです。

  • 容易な拡張性。 新しいモジュールは簡単に追加できます(新しいクラスと関数として)。既存のモジュールは十分な例を提供します。 新しいモジュールを簡単に作成できるようにするために、表現力を最大限に発揮させ、高度な研究に適したKerasを作成します。

  • Pythonで作業する 宣言形式の別々のモデル構成ファイルはありません。 モデルはPythonコードで記述されています。これは、コンパクトでデバッグが容易で、拡張性が容易です。


はじめに:Kerasまで30秒

Kerasのコアデータ構造はモデルであり、レイヤーを編成する方法です。 最も単純なタイプのモデルは、 SequentialのレイヤーであるSequentialモデルです。 より複雑なアーキテクチャの場合は、 Keras関数APIを使用する必要があります 。これにより、レイヤーの任意のグラフを作成できます。

Sequentialモデルは次のとおりです。

from keras.models import Sequential

model = Sequential()

レイヤーを積み重ねるのは.add()同じ.add()簡単です:

from keras.layers import Dense

model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))

モデルの見栄えが良ければ、 .compile()を使用して学習プロセスを設定します。

model.compile(loss='categorical_crossentropy',
              optimizer='sgd',
              metrics=['accuracy'])

必要に応じて、オプティマイザをさらに構成することができます。 Kerasのコア原則は、ユーザーが必要なときに完全にコントロールできるようにしながら(ソースコードの簡単な拡張性を実現する究極のコントロール)、合理的に単純なものにすることです。

model.compile(loss=keras.losses.categorical_crossentropy,
              optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))

トレーニングデータをバッチで繰り返し処理できるようになりました。

# x_train and y_train are Numpy arrays --just like in the Scikit-Learn API.
model.fit(x_train, y_train, epochs=5, batch_size=32)

あるいは、バッチを手動でモデルに供給することもできます。

model.train_on_batch(x_batch, y_batch)

パフォーマンスを1行で評価する:

loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)

新しいデータに対して予測を生成する:

classes = model.predict(x_test, batch_size=128)

質問応答システム、画像分類モデル、神経チューリングマシン、またはその他のモデルを構築することは、まさに高速です。 深い学習の背後にあるアイデアはシンプルなので、その実装はなぜ痛みを伴うのでしょうか?

Kerasに関する詳細なチュートリアルについては、次の記事を参照してください。

リポジトリのexamplesフォルダには、より高度なモデルがあります:メモリネットワークでの質問応答、積み上げLSTMによるテキスト生成など


インストール

Kerasをインストールする前に、TensorFlow、Theano、CNTKのいずれかのバックエンドエンジンをインストールしてください。 TensorFlowバックエンドをお勧めします。

次のオプションの依存関係をインストールすることも考えられます

その後、Keras自体をインストールすることができます。 Kerasをインストールする方法は2つあります。

  • PyPIからKerasをインストールする(推奨):
sudo pip install keras

virtualenvを使用している場合は、sudoを使わないでください。

pip install keras
  • あるいは、GitHubソースからKerasをインストールしてください:

まず、 gitを使ってKerasをクローンします。

git clone https://github.com/keras-team/keras.git

次に、Kerasフォルダにcdして、installコマンドを実行します。

cd keras
sudo python setup.py install

TensorFlowとは異なるバックエンドを使用する

既定では、Kerasはテンソル操作ライブラリとしてTensorFlowを使用します。 Kerasバックエンドを設定するには、以下の手順従ってください


サポート

質問をして開発ディスカッションに参加することができます:

また、 GitHubの問題に バグレポートや機能リクエスト (のみ)を投稿することもできます まずガイドラインを必ず読んでください


なぜこの名前、ケラス?

Keras(κέρας)はギリシャ語のを意味します。 オデッセイで最初に見いだされた古代ギリシャ語とラテン語文学の文学的イメージを参照しています。夢の精神( Oneiroi 、単数形Oneiros )は、偽のビジョンを持つ人を欺く者、象牙の門を通って地球に到着する人、そして未来を告げる者、ホーンの門を通って到着する者。 κέρας(ホーン)/κραίνω(遂行)、ἐλέφας(アイボリー)/ἐλεφαίρομαι(欺瞞)という言葉の遊びです。

Kerasは当初、プロジェクトONEIROS(オープンエンド型神経電子知能ロボットオペレーティングシステム)の研究努力の一環として開発されました。

「Oneiroiは、私たちが解明していることを超えています。誰が話していることを確かめることができるのでしょうか?彫られた角を通って出て来るものは、それらの後ろに真実を持って、それらを見る人のために達成される。 ホーマー、オデッセイ19. 562 ff(Shewring translation)。








-keras-team
-, , , , ,

執筆者: