모델을 실제로 훈련시키기 전에 컴파일을 진행하고 fit() 메서드를 사용하여 모델을 훈련시킵니다.
코드 10-56 모델 훈련
if OUTPUT_CLASSES == 2:
text_model.compile(loss="binary_crossentropy",
optimizer="adam",
metrics=["accuracy"])
else:
text_model.compile(loss="sparse_categorical_crossentropy",
optimizer="adam",
metrics=["sparse_categorical_accuracy"])
text_model.fit(train_data, epochs=NB_EPOCHS)
다음은 모델 훈련 결과입니다.
Epoch 1/5
1407/1407 [==============================] - 188s 134ms/step - loss: 0.3018 - accuracy: 0.8676
Epoch 2/5
1407/1407 [==============================] - 197s 140ms/step - loss: 0.1321 - accuracy: 0.9520
Epoch 3/5
1407/1407 [==============================] - 188s 134ms/step - loss: 0.0645 - accuracy: 0.9770
Epoch 4/5
1407/1407 [==============================] - 188s 134ms/step - loss: 0.0374 - accuracy: 0.9868
Epoch 5/5
1407/1407 [==============================] - 188s 134ms/step - loss: 0.0280 - accuracy: 0.9901
<tensorflow.python.keras.callbacks.History at 0x23892c10c88>
훈련 세트에서 약 99%의 정확도를 얻었습니다.