프로젝트 1 - 시행착오
오류 기록
Input type (torch.cuda.ByteTensor) and weight type (torch.cuda.FloatTensor) should be the same
torch의 내장 Dataset 클래스로 데이터셋을 만들었을 때 return 타입은 ByteTensor
가 된다. 모델에 넘겨주기 전에 input.float().to(device)
으로 형변환해서 넘겨주면 된다.
모델 제출 기록
간단한 CNN(3개 레이어), epoch 20, batchsize 8 - 검증 정확도 약 65퍼센트 정도,
acc : 11.6000%, f1 score : 0.0100
ResNet50, epoch 5, batchsize 8 - 학습, 검증 정확도는 되게 잘 나왔는데...
acc : 10.0476%, f1 score : 0.0502
하이퍼파라미터를 바꿔 가면서 몇 번 더 시도했는데 성능은 그대로였다.
EfficientNet, epoch 5, batchsize 8 - 이것도 마찬가지.
acc : 10.4286%, f1 score : 0.0547
이 모델 역시 하이퍼파라미터를 바꿔서 더 제출해 봤는데 테스트 성능이 엉망이었다.
shuffle
옵션을 True
로 설정했었다. 결과를 제출할 때는 submission.csv 파일의 순서대로 불러와서 예측해야 하는데 셔플해서 불러오니까 순서가 달라졌고 결과가 엉망으로 나왔던 것!