Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

tf.keras.callbacks.ModelCheckpoint

TensorFlow 1 versi Lihat sumber di GitHub

Callback untuk menyimpan Keras Model atau model bobot pada beberapa frekuensi.

Mewarisi Dari: Callback

Digunakan di notebook

Digunakan dalam panduan Digunakan dalam tutorial

ModelCheckpoint callback digunakan dalam hubungannya dengan pelatihan menggunakan model.fit() untuk menyimpan model atau bobot (dalam file pos pemeriksaan) di beberapa interval, sehingga model atau bobot dapat dimuat kemudian untuk melanjutkan pelatihan dari negara disimpan.

Beberapa pilihan callback ini menyediakan meliputi:

  • Apakah hanya menjaga model yang telah mencapai "performa terbaik" sejauh ini, atau apakah akan menyimpan model pada akhir setiap zaman terlepas dari kinerja.
  • Definisi 'terbaik'; yang kuantitas untuk memantau dan apakah itu harus dimaksimalkan atau diminimalkan.
  • Frekuensi itu harus menyimpan di. Saat ini, dukungan callback tabungan pada akhir setiap zaman, atau setelah sejumlah tetap batch pelatihan.
  • Apakah hanya bobot disimpan, atau seluruh model disimpan.

Contoh:

 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 string atau PathLike , jalan untuk menyimpan file model. filepath dapat berisi nama pilihan, yang akan diisi nilai format epoch dan kunci di logs (lulus di on_epoch_end ). Sebagai contoh: jika filepath adalah weights.{epoch:02d}-{val_loss:.2f}.hdf5 , maka pos-pos pemeriksaan model yang akan disimpan dengan nomor zaman dan hilangnya validasi dalam nama file.
monitor kuantitas untuk memantau.
verbose Modus bertele-tele, 0 atau 1.
save_best_only jika save_best_only=True , model terbaik terbaru sesuai kuantitas dipantau tidak akan ditimpa. Jika filepath tidak mengandung opsi format seperti {epoch} maka filepath akan ditimpa oleh masing-masing model yang lebih baik baru.
mode salah satu {auto, min, max}. Jika save_best_only=True , keputusan untuk menimpa saat menyimpan file dibuat berdasarkan baik maksimalisasi atau minimalisasi kuantitas dipantau. Untuk val_acc , ini harus max , untuk val_loss ini harus min , dll auto modus, arah secara otomatis disimpulkan dari nama kuantitas dipantau.
save_weights_only jika Benar, maka bobot hanya model akan disimpan ( model.save_weights(filepath) ), yang lain model penuh disimpan ( model.save(filepath) ).
save_freq 'epoch' atau integer. Bila menggunakan 'epoch' , callback menghemat model setelah setiap zaman. Bila menggunakan integer, callback menghemat model pada akhir banyak batch ini. Jika Model dikompilasi dengan experimental_steps_per_execution=N , maka kriteria tabungan akan diperiksa setiap batch yang N. Catatan bahwa jika tabungan tidak selaras dengan zaman, yang dipantau metrik berpotensi kurang dapat diandalkan (itu bisa mencerminkan sesedikit 1 batch, sejak metrik mendapatkan ulang setiap zaman). Default untuk 'epoch' .
options Opsional tf.train.CheckpointOptions keberatan jika save_weights_only benar atau opsional tf.saved_model.SavedOptions keberatan jika save_weights_only adalah palsu.
**kwargs argumen tambahan untuk kompatibilitas mundur. Kemungkinan kunci adalah period .

metode

set_model

Lihat sumber

set_params

Lihat sumber