손 글씨 (숫자) 분류 AI 해커톤

알고리즘 | CV | 분류 | 제어 | Accuracy

  • moneyIcon Prize : 참가시 최소 50 XP, 특별상 데이콘 후드
  • 450명 마감

 

Pytorch와 albumentations를 활용한 BaseLine [LB: 0.793 ]

2021.11.20 13:58 2,187 Views language

Pytorch를 활용하여 베이스라인 모델을 만들었습니다.
데이터 증강 기법으로 albumentations 라이브러리의 메서드들을 사용했고

NUM_EPOCHS를 50, 100으로 다르게 설정하여 돌려봤는데
50으로 했을 때 LB score가 0.793, 100으로 했을 때 0.768이었습니다.

해당 노트북의 Training Loop 출력은 NUM_EPOCHS 100의 출력입니다.

더 높은 LB score를 얻기 위해 
Training 방법, optimizer, model, hyperparameter, 데이터 증강기법 등을
변화시켜보면 좋을 것 같습니다. 

[+ 내용 추가]
1. 과적합 해결책으로 덜 깊은 모델(resnet18)을 70 에폭으로 해서 돌려본 결과, LB score로 0.784를 얻었습니다.
해당 노트북에서 모델을 변경해보고 싶다면 Model 부분에서 아래와 같이 변경하면 됩니다.
model = torchvision.models.resnet18(pretrained = False)

torchvision 안에 있는 다양한 모델들은 아래 링크에서 확인 가능합니다.
https://pytorch.org/vision/stable/models.html#classification

2. get_train_transforms()에 사용된 기법들은 무작위로 아무 기법이나 파라미터 최적화 없이 넣은 것입니다.
관련 블로그 글(https://blog.naver.com/juhyuk3000/222536219918)을 참고하여
Upload the image를 통해 mnist 데이터에 적절한 증강 기법을 선택한다면
더 높은 성능을 얻을 수 있습니다.

Code