Maxpooling2Dより下が何をしているのかがよく分からないです。
以下が model.summary() した結果です。
txt
1Model: "sequential"
2_________________________________________________________________
3Layer (type) Output Shape Param #
4=================================================================
5conv2d (Conv2D) (None, 100, 100, 64) 1792
6_________________________________________________________________
7conv2d_1 (Conv2D) (None, 100, 100, 32) 18464
8_________________________________________________________________
9max_pooling2d (MaxPooling2D) (None, 50, 50, 32) 0
10_________________________________________________________________
11flatten (Flatten) (None, 80000) 0
12_________________________________________________________________
13dense (Dense) (None, 200) 16000200
14_________________________________________________________________
15dropout (Dropout) (None, 200) 0
16_________________________________________________________________
17dense_1 (Dense) (None, 3) 603
18=================================================================
19Total params: 16,021,059
20Trainable params: 16,021,059
21Non-trainable params: 0
22_________________________________________________________________
-
- MaxPooling2D の出力は (BatchSize, 50, 50, 32) の4次元配列なので、Flatten で (BatchSize, 505032) の2次元配列にする。
model.add(Dense(200, activation='relu'))
model.add(Dropout(0.2))
出力数が3で活性化関数が softmax なので、3クラス分類問題のモデルと思われます。
model.add(Dense(3, activation='softmax'))