Začněte nyníZačněte zdarma

Early stopping: optimalizace optimalizace

Teď, když víš, jak sledovat výkon modelu v průběhu optimalizace, můžeš využít early stopping – tedy automatické zastavení optimalizace ve chvíli, kdy už nepřináší zlepšení. Protože se optimalizace zastaví sama, můžeš v .fit() klidně nastavit vysokou hodnotu epochs, jak ukázal Dan ve videu.

Model, který budeš optimalizovat, je definovaný jako model. Data jsou stejně jako dříve předem načtena jako predictors a target.

Toto cvičení je součástí kurzu

Úvod do deep learningu v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Importuj EarlyStopping z tensorflow.keras.callbacks.
  • Zkompiluj model – opět použij 'adam' jako optimizer, 'categorical_crossentropy' jako loss funkci a metrics=['accuracy'], aby ses mohl/a sledovat přesnost po každé epoše.
  • Vytvoř objekt EarlyStopping s názvem early_stopping_monitor. Optimalizaci zastav tehdy, když se validační loss nezlepší po dobu 2 epoch – nastav parametr patience funkce EarlyStopping() na hodnotu 2.
  • Natrénuj model na datech predictors a target. Počet epochs nastav na 30, validation split na 0.3 a předej [early_stopping_monitor] do parametru callbacks.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
____
Upravit a spustit kód