Cum pot folosi tf.keras.callback.ModelCheckpoint în Keras Tuner?

0

Problema

Așa că vreau să folosesc tf.keras.callback.ModelCheckpoint în Keras Tuner, dar modul de a alege calea unde doriți să salvați puncte de control, nu permite să-l salvați ca un fișier cu un nume, un nume asociat la procesul și execuția de punctul de control, doar asociat la o epocă.

Asta este, dacă am pur și simplu pune acest apel invers în Keras Tuner, în momentul în care punctele de control salva se întâmplă, în cele din urmă, nu știu cum să se asocieze cu punctele de control salvat într-un proces și procesul de execuție, numai la epocă.

1

Cel mai bun răspuns

0

Puteți utiliza tf.keras.callbacks.ModelCheckpoint pentru Keras tuner la fel cum este folosit în alt model pentru a salva punctele de control.

După antrenament modelul cu hyperparameters obținute de căutare ca pe acest model, puteți defini modelul de control și salvați-l ca mai jos:

hypermodel = tuner.hypermodel.build(best_hps)

# Retrain the model
hypermodel.fit(img_train, label_train, epochs=best_epoch, validation_split=0.2)

import os
checkpoint_path = "training_1/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)

# Create a callback that saves the model's weights
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path,
                                                 save_weights_only=True,
                                                 verbose=1)
history = hypermodel.fit(img_train, label_train, epochs=5, validation_split=0.2, callbacks=[cp_callback])
os.listdir(checkpoint_dir)

# Re-evaluate the model
loss, acc = hypermodel.evaluate(img_test, label_test, verbose=2)
print("Restored model, accuracy: {:5.2f}%".format(100 * acc))

# Loads the weights
hypermodel.load_weights(checkpoint_path)

# Re-evaluate the model
loss, acc = hypermodel.evaluate(img_test, label_test, verbose=2)
print("Restored model, accuracy: {:5.2f}%".format(100 * acc))

Vă rugăm să consultați acest link pentru mai multe inofrmation pe salvați și încărcați modelul puncte de control.

2021-12-06 16:04:19

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................