2

사전 교육 된 GoogLeNet을 사용하고 11 개 클래스를 분류하기 위해 내 데이터 세트에서 미세 조정했습니다. 유효성 확인 데이터 세트는 "loss3/top1"을 86.5 %로 나타냅니다. 그러나 평가 데이터 세트의 성능을 평가할 때 77 %의 정확도를 제공합니다. 어떤 변화가 train_val.prototxt 일지라도 deploy.prototxt에서 동일한 변경을했습니다. 유효성 검사와 평가 정확도의 차이가 정상입니까? 아니면 제가 잘못 했습니까? 제안 사항이 있으십니까?유효성 검사 및 평가 정확도의 차이

+1

~ 10 %의 차이가 아주 큽니다. 유효성 검사 집합에 몇 개의 샘플이 있고 평가 집합에 몇 개의 샘플이 있습니까? 이 세트에 같은 레이블이 배포되어 있습니까? – Shai

+0

@Shai 유효성 검사 데이터 집합의 총 샘플 수는 4123이며 평가 수는 4118입니다. 각 클래스에 대해 유효성 검사 및 평가 데이터 집합에 같은 수의 이미지가 포함되어야합니다. – fkeufss

+1

이 이상합니다. 차이가 너무 커서 "샘플 오류"로 기각 될 수는 없지만 추기경 버그를 제안하기에는 너무 작습니다. – Shai

답변

4

유효성 확인 데이터 세트에서 훈련 된 모델을 공정하게 평가하려면 test_itrtest_batch_size을 의미있는 방식으로 설정해야합니다.

Val_data/test_batch_Size 

, Val_data이 검증 데이터 세트의 크기와 test_batch_Size는 유효성 검사 단계에 BATCH_SIZE에서 설정 한 검증 배치 크기의 값입니다

그래서, test_itr로 설정해야합니다.

+1

내 'test_itr'은 40이고'test_batch_size'는 50입니다. 내 공식에 따르면 내 설정이 잘못되었습니다. – fkeufss

+1

당신의'test_itr'은 82 이상이어야합니다. 이것이 당신의 문제를 해결하기를 바랍니다. –

+0

@ user2409356 교육 중 테스트 단계가 전체 유효성 검사 집합을 다루지 않는 것 같습니다. 'test_iter'를 4123/50 ~ = 83로 설정하고 정확도를 확인하십시오. – Shai

관련 문제