ModelCheckpoint(以外のmonitor)デフォルトのパラメータで実行しますか?
ModelCheckpoint使用するメトリックmodeのタイプを指定するというパラメーターがあります。mode3つの値'min' 'max'を取ることができ、'auto'(これがデフォルトです):
min:メトリック(損失関数など)を最小化することを意味します。
max:メトリック(精度など)を最大化することを意味します。
auto:自分で何をすべきかを理解しようとします。コードを見ると、指標の名前にが含まれている'acc'かどうか、またはで始まるかどうかが確認され'fmeasure'ます。はいの場合はモードに設定されmax、そうでない場合はモードに設定されminます。
あなたのケースでは、最大化したい指標であるjaccardインデックスを監視するので、モードをに設定しmaxます。通常、「jaccard」には文字列「acc」が含まれているため、モードが設定されてautoいても正常に機能します。
ただし、メトリックに任意の名前を付けた場合(例:)my_metric、デフォルトのモードはに設定されます。これは、メトリックで最低のパフォーマンスminを達成する重みを格納することを意味します。これは、最初のエポックの重みです。
提案:次回はmode='max'確認してみてください。
intersection_over_unionおそらく最初のエポックからのものである最低のスコアを持つ重みを格納していました。それは非常に理にかなっています。ありがとう!