การฝึกโมเดลใน TensorFlow ใช้เมธอด fit() โดยระบุข้อมูลฝึก (training data), ข้อมูลตรวจสอบ (validation data), และจำนวนรอบ (epochs)
โค้ดตัวอย่าง
print("กำลังฝึกโมเดล...")
epochs = 12
history = model.fit(
train_ds,
validation_data=val_ds,
epochs=epochs
)
ผลลัพธ์ตัวอย่าง
กำลังฝึกโมเดล
Epoch 1/12
92/92 [==============================] - 94s 1s/step - loss: 1.6007 - accuracy: 0.3411 - val_loss: 1.0708 - val_accuracy: 0.5627
Epoch 2/12
92/92 [==============================] - 92s 995ms/step - loss: 1.0138 - accuracy: 0.5843 - val_loss: 0.9451 - val_accuracy: 0.6458
...
Epoch 12/12
92/92 [==============================] - 96s 1s/step - loss: 0.0176 - accuracy: 0.9961 - val_loss: 1.8234 - val_accuracy: 0.6540

คำอธิบาย
- model.fit(): เมธอดหลักสำหรับฝึกโมเดล
- train_ds: Training dataset (tf.data.Dataset)
- validation_data: ข้อมูลสำหรับตรวจสอบประสิทธิภาพระหว่างฝึก
- epochs: จำนวนรอบที่จะฝึกข้อมูลทั้งหมด
- history: คืนค่า History object ที่เก็บ loss และ metrics ทุก epoch
- รันบน Google Colab ที่มี GPU ฟรี เร็วกว่า CPU มาก
สังเกต: Training accuracy เพิ่มขึ้นเรื่อยๆ แต่ Validation accuracy คงที่ประมาณ 0.65-0.67 แสดงว่าโมเดล overfitting (จดจำข้อมูลฝึกมากเกินไป)