pretrained vit를 사용했지만 성능 개선이 거의 이뤄지지 않았다. 어떠한 문제로 학습이 되지 않는지에 대해 알아볼 필요가 있으며, 이제 팀이 병합되기 때문에 그 전에 ResNet을 활용한 모델을 사용하겠다.
ResNet101e pretrained모델을 사용했으며 오히려 성능이 오버피팅이 일어날 정도였다. 오버피팅 문제를 해결하는 것이 좋아보인다.
현재 f1-score는 0.621이다.
img size를 224로 한 결과 batchsize 20 기준으로 1 epoch당 3분30초 정도 소요되었다.
해볼 것
resnet_2에서 고친 것
1.f1 score
2.chart 보이게
3.chart 이름 지정
4.사이즈 384로
5.labeling 오류 마스크만
img size를 키워서 역시 학습 속도는 같은 조건에서 epoch당 8분 정도 소요된다.
15 epoch 돌리는데 2시간이 소요되는 속도다.
15 Epoch를 돌렸으나 결과는 처참했다. 아마 validation데이터셋을 나누는데 있어서 startified하게 나누지 못했기도 했고, overfitting이 일어났을 것이라 생각한다.
다음 학습은 어떤 식으로 진행할지 생각해봐야겠다.
스케쥴러를 활용한 모델이었다. 11 epoch, 20batch였다.
의 성능이 나왔다.scheduler = ReduceLROnPlateau(optimizer, 'max')
stratified k - fold를 활용하였으며
5split, 5epoch만큼 돌렸다. 위의 결과보다 소폭 상승한 모습이다.
epoch 수를 늘려서 다시 split을 해볼 생각이다. Earlystopping을 걸어놓아 Overfitting이 되지 않도록 할 것이다. 또한 scheduler를 앞서 설정해놓은 것처럼 활용할 예정이다. COunter와 best acc를 fold 내에서 설정해주었다.
위의 모델을 학습하고 난 후에는 위의 scheduler를 활용한 모델을 불러와 다시 stratified k fold를 시행할 예정이다.