ÎncepețiÎncepe gratuit

Oprire anticipată: optimizarea optimizării

Acum că știi cum să monitorizezi performanța modelului pe parcursul optimizării, poți folosi oprirea anticipată pentru a întrerupe optimizarea atunci când aceasta nu mai aduce îmbunătățiri. Deoarece optimizarea se oprește automat când nu mai este utilă, poți seta și o valoare ridicată pentru epochs în apelul la .fit(), așa cum a arătat Dan în videoclip.

Modelul pe care îl vei optimiza a fost definit ca model. Ca și înainte, datele sunt preîncărcate ca predictors și target.

Acest exercițiu face parte din cursul

Introducere în Deep Learning în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă EarlyStopping din tensorflow.keras.callbacks.
  • Compilează modelul, folosind din nou 'adam' ca optimizer, 'categorical_crossentropy' ca funcție de pierdere și metrics=['accuracy'] pentru a vedea acuratețea la fiecare epocă.
  • Creează un obiect EarlyStopping numit early_stopping_monitor. Oprește optimizarea când pierderea de validare nu s-a îmbunătățit timp de 2 epoci, setând parametrul patience al EarlyStopping() la valoarea 2.
  • Antrenează modelul folosind predictors și target. Specifică numărul de epochs ca fiind 30 și folosește o împărțire pentru validare de 0.3. În plus, transmite [early_stopping_monitor] parametrului callbacks.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
____
Editează și rulează codul