Keras-models
Keras-モデル
前に学習したように、Kerasモデルは実際のニューラルネットワークモデルを表します。 Kerasは、モデルを作成するための2つのモード、シンプルで使いやすい_Sequential API_、およびより柔軟で高度な_Functional API_を提供します。 この章では、Sequential APIと_Functional_ APIの両方を使用してモデルを作成する方法を学びましょう。
シーケンシャル
ANNモデルは、以下に指定されているように* Sequential()* APIを呼び出すだけで作成できます-
レイヤーを追加する
レイヤーを追加するには、KerasレイヤーAPIを使用してレイヤーを作成し、以下に指定されているようにadd()関数でレイヤーを渡します-
ここでは、1つの入力レイヤー、1つの非表示レイヤー、1つの出力レイヤーを作成しました。
モデルにアクセスする
Kerasは、レイヤー、入力データ、出力データなどのモデル情報を取得するいくつかのメソッドを提供します。 彼らは次のとおりです-
- model.layers -モデルのすべてのレイヤーをリストとして返します。
- model.inputs -モデルのすべての入力テンソルをリストとして返します。
- model.outputs -モデルのすべての出力テンソルをリストとして返します。
- model.get_weights -すべての重みをNumPy配列として返します。
- model.set_weights(weight_numpy_array) -モデルの重みを設定します。
モデルをシリアル化する
Kerasは、モデルをオブジェクトとjsonにシリアル化し、後で再度ロードするメソッドを提供します。 彼らは次のとおりです-
- get_config() -Iモデルをオブジェクトとして返します。
- from_config() -モデル構成オブジェクトを引数として受け入れ、それに応じてモデルを作成します。
- to_json() -モデルをjsonオブジェクトとして返します。
- model_from_json() -モデルのjson表現を受け入れ、新しいモデルを作成します。
- to_yaml() -モデルをyaml文字列として返します。
- model_from_yaml() -モデルのyaml表現を受け入れ、新しいモデルを作成します。
モデルを要約する
モデルを理解することは、トレーニングや予測の目的でモデルを適切に使用するために非常に重要なフェーズです。 Kerasは、モデルとそのレイヤーに関する完全な情報を取得するための簡単な方法、要約を提供します。
前のセクションで作成されたモデルの要約は次のとおりです-
モデルのトレーニングと予測
モデルは、トレーニング、評価、予測プロセスの機能を提供します。 彼らは次のとおりです-
- compile -モデルの学習プロセスを構成する
- fit -トレーニングデータを使用してモデルをトレーニングする
- evaluate -テストデータを使用してモデルを評価する
- predict -新しい入力の結果を予測します。
機能的なAPI
シーケンシャルAPIは、レイヤーごとにモデルを作成するために使用されます。 関数型APIは、より複雑なモデルを作成するための代替アプローチです。 機能モデルでは、レイヤーを共有する複数の入力または出力を定義できます。 まず、モデルのインスタンスを作成し、レイヤーに接続して、モデルへの入力と出力にアクセスします。 このセクションでは、機能モデルについて簡単に説明します。
モデルを作成する
以下のモジュールを使用して入力レイヤーをインポートします-
ここで、以下のコードを使用して、モデルの入力次元形状を指定する入力レイヤーを作成します-
以下のモジュールを使用して入力の層を定義します-
以下のコード行を使用して、入力に高密度レイヤーを追加します-
以下のモジュールを使用してモデルを定義します-
入力層と出力層の両方を指定して、機能的な方法でモデルを作成します-
単純なモデルを作成するための完全なコードを以下に示します-