합성곱 신경망과 비교를 위해 심층 신경망을 먼저 생성한 후 훈련시켜 보겠습니다. 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로 나누는 이유’를 참고하세요.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.