keras 'ModelCheckpoint tidak berfungsi

8

Saya mencoba untuk melatih model dengan keras dan saya menggunakan ModelCheckpoint untuk menyimpan model terbaik sesuai dengan metrik validasi yang dimonitor (dalam kasus saya indeks Jaccard ).

Walaupun saya bisa melihat modelnya meningkat dalam tensorboard, ketika saya mencoba memuat bobot dan mengevaluasi model itu tidak berfungsi sama sekali. Lebih lanjut, dengan cap waktu pada file di mana bobot seharusnya disimpan, saya dapat mengatakan bahwa mereka tidak disimpan sama sekali. Cap waktu sesuai dengan waktu saya memulai pelatihan.

Adakah yang pernah mengalami masalah seperti ini sebelumnya?

ILM91
sumber

Jawaban:

7

Apakah Anda menjalankan ModelCheckpointparameter default (selain monitor)?

ModelCheckpointmemiliki parameter yang disebut modeyang menentukan jenis metrik yang akan digunakan. modedapat mengambil 3 nilai 'min' 'max'dan 'auto'(yang merupakan default):

  • min: berarti Anda ingin meminimalkan metrik (mis. fungsi kehilangan).
  • max: berarti Anda ingin memaksimalkan metrik (mis. akurasi).
  • auto: mencoba untuk mencari tahu apa yang harus dilakukan sendiri. Jika Anda melihat kode , ia memeriksa apakah nama metrik berisi 'acc'atau jika dimulai dengan 'fmeasure'. Jika ya itu mengatur mode ke max, jika tidak set ke min.

Dalam kasus Anda, Anda memantau indeks jaccard, yang merupakan metrik yang ingin Anda maksimalkan, sehingga Anda ingin mode diatur ke max. Biasanya karena "jaccard" berisi string "acc", bahkan jika mode diatur ke autoitu harus berfungsi dengan baik.

Namun, jika Anda menamai metrik Anda sesuatu yang sewenang-wenang (mis. my_metric), Mode default akan disetel ke min, yang berarti akan menyimpan bobot yang mencapai kinerja paling sedikit pada metrik Anda, yang seharusnya menjadi bobot pada zaman pertama.

Saran : coba lain kali dengan mode='max'memastikan.

MzdR
sumber
Ya kamu benar. Saya telah menamai metrik saya intersection_over_uniondan mungkin menyimpan bobot yang memiliki skor terendah, yang berasal dari zaman pertama. Itu masuk akal. Terima kasih!
ILM91
Sama-sama. Senang bisa membantu!
MzdR