概要は理解できてきたので、各処理内容について細かく確認していきます。
まずは、モデルの作成からになります。
モデルの作成と確認
モデルの作成は「add」でレイヤーを追加していきます。
プログラムとしては難しい部分はありません。どちらかというと「レイヤーをどう組み立てるか?」という考慮が重要になります。
「summary()」で作成したモデルのレイヤーを確認することができます。
model = Sequential() model.add(InputLayer(input_shape=(784,))) model.add(Dense(128, activation='relu')) model.add(Dropout(0.2)) model.add(Dense(10, activation='softmax')) model.summary()
最初の「sequential_6」は自動的に作成される名称です。各レイヤーの名前も同様に自動で設定されいます。
エラーメッセージではレイヤー名が表示されますので、summaryで名称を確認しておかないとどのレイヤーでエラーが発生しているのか分からない状態になります。
「Output Shape」は各レイヤーの出力次元になります。
各レイヤーで設定している値になります。
Model: "sequential_6" ================================================================= Layer (type) Output Shape Param # ================================================================= dense_9 (Dense) (None, 128) 100480 ================================================================= dropout_6 (Dropout) (None, 128) 0 ================================================================= dense_10 (Dense) (None, 10) 1290 ================================================================= Total params: 101,770 Trainable params: 101,770 Non-trainable params: 0
次のステップ
モデルの作成としては特に迷う部分は無いと思います。
「各レイヤーとして何を指定するのか?」「パラメータは何を意味しているのか?」を理解していくことになります。
コメント