합성곱 신경망과 비교를 위해 심층 신경망을 먼저 생성한 후 훈련시켜 보겠습니다. ConvNet이 적용되지 않은 네트워크를 먼저 만들어 보겠습니다.
코드 5-4 심층 신경망을 이용한 모델 생성 및 훈련
x_train, x_test = x_train / 255.0, x_test / 255.0 ------ ①
model = tf.keras.models.Sequential([ ------ 모델 생성
tf.keras.layers.Flatten(input_shape=(28,28)), ------ ②
tf.keras.layers.Dense(128, activation='relu'), ------ ③
tf.keras.layers.Dropout(0.2), ------ ④
tf.keras.layers.Dense(10, activation='softmax') ------ ⑤
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy']) ------⑥
model.fit(x_train, y_train, epochs=5) ------훈련 데이터셋을 이용하여 모델 훈련
model.evaluate(x_test, y_test, verbose=2) ------검증 데이터셋을 이용하여 모델 평가
① 이미지 데이터를 255로 나누는데, 자세한 내용은 ‘노트: 이미지 데이터를 255로 나누는 이유’를 참고하세요.