from tensorflow import keras
keras.layers.Conv2D(10, kernel_size=(3,3), activation='relu')
합성곱 층에서 feature map을 생성->pooling에서 크기를 줄이는 구조->마지막에 dense layer인 output layer에 전달하기 위해 Flatten을 통해 1차원 배열로 펼치고 전달
model = keras.Sequential()
model.add(keras.layers.Conv2D(32, kernel_size=3, activation='relu', padding='same', input_shape=(28,28,1)))
model.add(keras.layers.MaxPooling2D(2))
model.add(keras.layers.Conv2D(64, kernel_size=3, activation='relu', padding='same'))
model.add(keras.layers.MaxPooling2D(2))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(100, activation='relu'))
model.add(keras.layers.Dropout(0.4))
model.add(keras.layers.Dense(10, activation='softmax'))
모델 compile, 훈련, 성능평가는 이전까지와 동일
<training하고 나서 커널을 출력한 결과(커널이 32개일 때)>
<training하지 않았을 때의 커널을 출력한 결과>
<1번째 합성곱이 만든 32개의 특성맵>
<2번째 합성곱이 만든 64개의 특성 맵>