ПочатиПочніть безкоштовно

Рання зупинка: оптимізація оптимізації

Тепер, коли ви вмієте відстежувати продуктивність моделі під час оптимізації, можна застосувати ранню зупинку, щоб припиняти оптимізацію, коли вона більше не допомагає. Оскільки оптимізація зупинятиметься автоматично, коли поліпшення немає, ви також можете задати велике значення epochs у виклику .fit(), як показував Ден у відео.

Модель для оптимізації вже визначено як model. Як і раніше, дані попередньо завантажено в predictors і target.

Ця вправа є частиною курсу

Вступ до Deep Learning у Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте EarlyStopping із tensorflow.keras.callbacks.
  • Скомпілюйте модель, знову використовуючи 'adam' як optimizer, 'categorical_crossentropy' як функцію втрат і metrics=['accuracy'], щоб бачити точність на кожній епосі.
  • Створіть об'єкт EarlyStopping з назвою early_stopping_monitor. Зупиняйте оптимізацію, якщо валідаційні втрати не поліпшувалися протягом 2 епох, задавши параметр patience у EarlyStopping() рівним 2.
  • Навчіть модель, використовуючи predictors і target. Задайте кількість epochs рівною 30 і використайте валідаційну частку 0.3. Крім того, передайте [early_stopping_monitor] у параметр callbacks.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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
____
Редагувати та запускати код