Bắt đầu ngayBắt đầu miễn phí

Early stopping: Tối ưu cách tối ưu hóa

Giờ bạn đã biết cách theo dõi hiệu năng mô hình trong suốt quá trình tối ưu, bạn có thể dùng early stopping để dừng tối ưu khi nó không còn cải thiện nữa. Vì quá trình tối ưu sẽ tự động dừng khi không còn hữu ích, bạn cũng có thể đặt giá trị epochs cao trong lời gọi .fit(), như Dan đã minh họa trong video.

Mô hình bạn sẽ tối ưu đã được tạo sẵn là model. Như trước đây, dữ liệu đã được nạp sẵn dưới dạng predictorstarget.

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 Python

Xem khóa học

Hướng dẫn bài tập

  • Import EarlyStopping từ tensorflow.keras.callbacks.
  • Biên dịch mô hình, tiếp tục dùng 'adam' làm optimizer, 'categorical_crossentropy' làm hàm mất mát, và metrics=['accuracy'] để xem độ chính xác ở mỗi epoch.
  • Tạo một đối tượng EarlyStopping tên early_stopping_monitor. Dừng tối ưu khi validation loss không cải thiện trong 2 epoch bằng cách đặt tham số patience của EarlyStopping()2.
  • Huấn luyện mô hình với predictorstarget. Đặt số epochs30 và dùng validation split 0.3. Ngoài ra, truyền [early_stopping_monitor] vào tham số callbacks.

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 EarlyStopping
____

# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]
input_shape = (n_cols,)

# Specify the model
model = Sequential()
model.add(Dense(100, activation='relu', input_shape = input_shape))
model.add(Dense(100, activation='relu'))
model.add(Dense(2, activation='softmax'))

# Compile the model
____

# Define early_stopping_monitor
early_stopping_monitor = ____

# Fit the model
____
Chỉnh sửa và Chạy Mã