ModelCheckpoint di keras non funziona


8

Sto cercando di formare un modello in keras e sto usando ModelCheckpoint per salvare il modello migliore in base a una metrica di convalida monitorata (nel mio caso l' indice Jaccard ).

Mentre vedo il modello migliorare in tensorboard, quando provo a caricare i pesi e valutare il modello non funziona affatto. Inoltre, dal timestamp sul file in cui dovrebbero essere memorizzati i pesi, posso dire che non vengono affatto salvati. Il timestamp corrisponde approssimativamente al momento in cui ho iniziato ad allenarmi.

Qualcuno ha riscontrato un simile problema prima?

Risposte:


7

Corri ModelCheckpointsui suoi parametri di default (oltre monitor)?

ModelCheckpointha un parametro chiamato modeche specifica il tipo di metrica da utilizzare. modepuò assumere 3 valori 'min' 'max'e 'auto'(che è l'impostazione predefinita):

  • min: significa che si desidera ridurre al minimo la metrica (ad es. la funzione di perdita).
  • max: significa che si desidera massimizzare la metrica (ad es. precisione).
  • auto: tenta di capire cosa fare da solo. Se guardi il codice , controlla se il nome della metrica contiene 'acc'o se inizia con 'fmeasure'. In caso affermativo imposta la modalità su max, in caso contrario imposta su min.

Nel tuo caso, controlli l'indice jaccard, che è una metrica che desideri ingrandire, quindi vuoi impostare la modalità max. Normalmente perché "jaccard" contiene la stringa "acc", anche se la modalità è impostata su autodovrebbe funzionare correttamente.

Se tuttavia hai definito la tua metrica qualcosa di arbitrario (ad esempio my_metric), verrà impostata la modalità predefinita min, il che significa che memorizzerà i pesi che ottengono le prestazioni minime sulla tua metrica, che dovrebbero essere i pesi della prima epoca.

Suggerimento : la prossima volta prova con questo mode='max'per essere sicuro.


Si hai ragione. Avevo chiamato la mia metrica intersection_over_unione probabilmente stava memorizzando pesi con il punteggio più basso, che erano quelli della prima epoca. Questo ha molto senso. Grazie!
ILM91,

Prego. Sono contento di poterti aiutare!
MzdR,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.