Ви працюєте ModelCheckpoint
за його типовими параметрами (крім того monitor
)?
ModelCheckpoint
має параметр, mode
який називається, який визначає тип метрики, яку слід використовувати. mode
може приймати 3 значення 'min'
'max'
та 'auto'
(що є типовим):
min
: означає, що ви хочете мінімізувати показник (наприклад, функція втрати).
max
: означає, що ви хочете досягти максимальної метрики (наприклад, точності).
auto
: спроби зрозуміти, що робити самостійно. Якщо ви подивитеся на код , він перевіряє, чи містить ім'я метрики 'acc'
чи він починається з 'fmeasure'
. Якщо так, то він встановлює режим max
, якщо ні, він встановлює його min
.
У вашому випадку ви стежите за індексом жаккарда, який є показником, якого ви хочете максимально збільшити, тому хочете, щоб режим встановлений max
. Зазвичай тому, що "жаккард" містить рядок "acc", навіть якщо встановлений для auto
нього режим повинен працювати нормально.
Якщо ви назвали свою метрику чимось довільним (наприклад my_metric
), режим за замовчуванням буде встановлено на min
, це означає, що вона буде зберігати ваги, які досягають найменшої продуктивності у вашій метриці, яка повинна бути вагою першої епохи.
Пропозиція : наступного разу спробуйте, mode='max'
щоб бути впевненим.
intersection_over_union
і це, мабуть, зберігало ваги з найнижчою оцінкою, які були з першої епохи. Це має багато сенсу. Дякую!