keras의 ModelCheckpoint가 작동하지 않습니다


8

나는 keras에서 모델을 훈련하려고 노력하고 있으며 ModelCheckpoint 를 사용하여 모니터링 된 유효성 검사 메트릭 (제 경우 Jaccard index ) 에 따라 최상의 모델을 저장하고 있습니다 .

tensorboard에서 모델이 개선되는 것을 볼 수 있지만 가중치를로드하고 모델을 평가하려고 할 때 전혀 작동하지 않습니다. 또한 가중치를 저장 해야하는 파일의 타임 스탬프로 전혀 저장되지 않는다고 알 수 있습니다. 타임 스탬프는 대략 훈련을 시작한 시간과 일치합니다.

전에 이런 문제가 발생한 사람이 있습니까?

답변:


7

당신은 실행합니까 ModelCheckpoint기본 매개 변수 (이외에 monitor)?

ModelCheckpoint사용할 측정 항목 유형mode 을 지정 하는 매개 변수 가 있습니다. 3 개의 값을 가질 수 있으며 (기본값) :mode'min' 'max''auto'

  • min: 메트릭 을 최소화 하려는 것을 의미합니다 (예 : 손실 기능).
  • max: 측정 항목 을 최대화 하려는 경우 (예 : 정확도)
  • auto: 스스로해야 할 일을 파악하려고 시도합니다. 코드 를 보면 메트릭 이름에 포함되어 'acc'있는지 또는로 시작하는지 확인합니다 'fmeasure'. 그렇다면 모드를로 설정하고 max그렇지 않은 경우로 설정합니다 min.

귀하의 경우, 최대화하려는 메트릭 인 jaccard 인덱스를 모니터링하므로 모드를로 설정하려고 max합니다. 일반적으로 "jaccard"에는 "acc"문자열이 포함되어 있으므로 모드가 설정되어 있어도 auto제대로 작동합니다.

그러나 임의의 메트릭 이름을 임의의 이름 (예 :)으로 지정 my_metric하면 기본 모드가로 설정됩니다 min. 즉 , 메트릭에서 성능 이 가장 낮은 가중치를 저장합니다 . 이는 첫 번째 에포크의 가중치 여야합니다.

제안 : 다음에는 mode='max'확실하게 시도 하십시오.


그래, 너가 맞아. 나는 메트릭을 명명했으며 intersection_over_union아마도 가장 낮은 점수를 가진 가중치를 저장했을 것입니다. 그것은 많은 의미가 있습니다. 감사!
— ILM91

천만에요. 기꺼이 도와 드리겠습니다!
— MzdR
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.