เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การใช้ callbacks หลายตัวร่วมกัน

โมเดล deep learning บางตัวใช้เวลาฝึกนานมาก โดยเฉพาะเมื่อโครงสร้างโมเดลลึกขึ้นหรือชุดข้อมูลมีขนาดใหญ่ขึ้น การบันทึกโมเดลทุกครั้งที่ประสิทธิภาพดีขึ้น และหยุดการฝึกเมื่อประสิทธิภาพไม่ดีขึ้นแล้ว ช่วยให้ไม่ต้องกังวลเรื่องการเลือกจำนวน epoch นอกจากนี้ยังสามารถโหลดโมเดลที่บันทึกไว้กลับมาและฝึกต่อจากจุดที่หยุดได้ตลอดเวลา

ข้อมูลสำหรับฝึกและ validation พร้อมใช้งานใน workspace แล้วในชื่อ X_train, X_test, y_train และ y_test

ใช้ callback EarlyStopping() และ ModelCheckpoint() เพื่อให้โมเดลทำงานเองได้ — จะได้มีเวลาพักผ่อนในระหว่างรอ!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning เบื้องต้นด้วย Keras

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import callback ทั้ง EarlyStopping และ ModelCheckpoint จาก tensorflow.keras
  • สร้าง monitor_val_acc เป็น callback EarlyStopping ที่ monitor 'val_accuracy' โดยกำหนด patience ไว้ที่ 3 epoch
  • สร้าง model_checkpoint เป็น callback ModelCheckpoint และบันทึกโมเดลที่ดีที่สุดในชื่อ best_banknote_model.hdf5
  • Fit โมเดลโดยส่ง list ของ callback ที่กำหนดไว้ พร้อมกับ X_test และ y_test เป็น validation data

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import the EarlyStopping and ModelCheckpoint callbacks
from tensorflow.____.____ import ____, ____

# Early stop on validation accuracy
monitor_val_acc = ____(monitor = ____, patience = ____)

# Save the best model as best_banknote_model.hdf5
model_checkpoint = ____(____, save_best_only = True)

# Fit your model for a stupid amount of epochs
h_callback = model.fit(X_train, y_train,
                    epochs = 1000000000000,
                    callbacks = [____, ____],
                    validation_data = (____, ____))
แก้ไขและรันโค้ด