Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

tf.keras.callbacks.ModelCheckpoint

TensorFlow 1 wersja Zobacz źródło na GitHub

Callback zapisać Keras modelu lub modelu wagi w pewnym częstotliwości.

Dziedziczy: Callback

Stosowany w notebookach

Używany w przewodniku Używany w samouczków

ModelCheckpoint zwrotna jest używana w połączeniu z treningiem z użyciem model.fit() , aby zapisać model lub ciężary (w pliku kontrolnego) w pewnym przedziale, więc model lub ciężary mogą być ładowane później kontynuować szkolenie ze stanu zapisanego.

Kilka opcji to zwrotna zapewnia obejmują:

  • Czy aby tylko utrzymać model, który osiągnął „najlepszą wydajność” do tej pory, czy też zapisać model na końcu każdej epoce, niezależnie od wydajności.
  • Definicja „najlepsze”; których ilość, monitor i czy powinien zostać zmaksymalizowany lub zminimalizowane.
  • Częstotliwość należy zapisać na. Obecnie obsługuje wywołania zwrotnego ratowniczy na końcu każdej epoce, lub po upływie określonej liczby partii szkoleniowych.
  • Czy tylko ciężary są zapisywane lub cały model został zapisany.

Przykład:

 EPOCHS = 10
checkpoint_filepath = '/tmp/checkpoint'
model_checkpoint_callback = tf.keras.callbacks.ModelCheckpoint(
    filepath=checkpoint_filepath,
    save_weights_only=True,
    monitor='val_acc',
    mode='max',
    save_best_only=True)

# Model weights are saved at the end of every epoch, if it's the best seen
# so far.
model.fit(epochs=EPOCHS, callbacks=[model_checkpoint_callback])

# The model weights (that are considered the best) are loaded into the model.
model.load_weights(checkpoint_filepath)
 

filepath Ciąg lub PathLike , ścieżka, aby zapisać plik modelu. filepath mogą zawierać nazwane opcje, które zostaną wypełnione wartość formatowania epoch i klucze w logs (przekazany w on_epoch_end ). Na przykład: jeśli filepath jest weights.{epoch:02d}-{val_loss:.2f}.hdf5 , to wówczas model punkty kontrolne są zapisywane wraz z liczbą Epoki i utraty walidacji w pliku.
monitor ilość monitorować.
verbose Tryb verbosity 0 lub 1.
save_best_only jeśli save_best_only=True , najnowszy najlepszy model w zależności od ilości monitorowane nie zostaną nadpisane. Jeśli filepath nie zawiera opcje formatowania jak {epoch} następnie filepath zostaną nadpisane przez każdego nowego lepszego modelu.
mode jeden {automatyczne, min, maks}. Jeśli save_best_only=True , decyzja, aby zastąpić obecny Zapisz plik udostępniony jest na podstawie obu maksymalizacji lub minimalizacji monitorowanej ilości. Dla val_acc , powinno to być max na val_loss to powinno być min , itp auto trybie, kierunek jest automatycznie wywnioskować z nazwy monitorowanej ilości.
save_weights_only Jeśli to prawda, to zostaną zapisane ciężary tylko przy użyciu modelu'S ( model.save_weights(filepath) ), inny pełny model jest zapisywany ( model.save(filepath) ).
save_freq 'epoch' lub całkowita. Podczas korzystania z 'epoch' , wywołanie zwrotne zapisuje modelu każdej epoki. Podczas korzystania z liczbą całkowitą, oddzwanianie oszczędza modelu na końcu tego wielu partiach. Jeśli Model jest skompilowany z experimental_steps_per_execution=N , a następnie zapisywanie kryteria będą sprawdzane każdej partii N-tej. Zauważ, że jeśli oszczędności nie jest dostosowane do epok, monitorowany metryczny potencjalnie mogą być mniej wiarygodne (może to odzwierciedlać zaledwie 1 partii, ponieważ metryki dostać zresetować każdej epoce). Domyślnie 'epoch' .
options Opcjonalne tf.train.CheckpointOptions sprzeciw jeśli save_weights_only jest prawdziwe lub opcjonalne tf.saved_model.SavedOptions sprzeciw jeśli save_weights_only jest fałszywe.
**kwargs Dodatkowe argumenty dla wstecznej kompatybilności. Kluczem jest możliwy period .

metody

set_model

Pokaż źródło

set_params

Pokaż źródło