Kết hợp nhiều callback
Các mô hình deep learning có thể mất nhiều thời gian để huấn luyện, đặc biệt khi bạn dùng kiến trúc sâu hơn và bộ dữ liệu lớn hơn. Việc lưu mô hình mỗi khi nó được cải thiện và dừng lại khi không còn cải thiện giúp bạn bớt lo lắng về việc chọn số epoch để huấn luyện. Bạn cũng có thể khôi phục mô hình đã lưu bất cứ lúc nào và tiếp tục huấn luyện từ nơi đã dừng.
Dữ liệu huấn luyện và kiểm định của mô hình có sẵn trong workspace của bạn dưới dạng X_train, X_test, y_train và y_test.
Hãy sử dụng các callback EarlyStopping() và ModelCheckpoint() để bạn có thể yên tâm đi ăn một hũ bánh quy trong lúc để máy tính làm việc!
Bài tập này là một phần của khóa học
Nhập môn Deep Learning với Keras
Hướng dẫn bài tập
- Import cả hai callback
EarlyStoppingvàModelCheckpointtừtensorflow.keras. - Tạo
monitor_val_acclà một callbackEarlyStoppingđể theo dõi'val_accuracy', vớipatiencelà 3 epoch. - Tạo
model_checkpointlà một callbackModelCheckpoint, lưu mô hình tốt nhất với tênbest_banknote_model.hdf5. - Fit mô hình của bạn bằng cách cung cấp một danh sách chứa các callback đã định nghĩa và dùng
X_testvày_testlàm dữ liệu kiểm định.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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 = (____, ____))