분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
[Public 0.88] VGG19 dense evaluation 버전
Training 시 50% 확률로 batch 이미지들에 Horizontal Flip(수평반전)을 적용.
VGG19의 classifier를 1x1 convolution layer로 변경하여 dense evaluation으로 평가해서 파라미터 규모 감소.
p.s.) EISLab_이희원님의 코드(https://dacon.io/competitions/official/236459/codeshare/12245?page=1&dtype=recent)를 일부 참고하였습니다.
test_transform에 ToPILImage(), ToTensor()를 빼먹었네요;; 수정했습니다. 다시 해보니 public 0.88 나옵니다.
네 확인했습니다. 감사드립니다
그런데 public 상에서 0.10 이 나오는 것 같습니다
val_acc 는 0.85가 나옵니다
확인해보니 DataLoader에 Generator까지 지정해줘야 완전히 랜덤성 제어가 되네요.
g = torch.Generator()
g.manual_seed(SEED)
train_loader = DataLoader(train_dataset, batch_size=BATCH_SIZE, shuffle=True, collate_fn=collate_fn_train_transform, generator=g)
이렇게 고정하고 제출했을 때 2번 모두 0.888 나왔습니다.
이외에 생각해볼 수 있는 문제는 모델 파라미터 초기화 문제입니다.VGG 논문에서도 깊은 layer의 네트워크를 학습시킬 때 11 weights layer로 구성된 네트워크 중 7개의 layer 파라미터를 복사해서 파라미터 초기화에 사용했습니다. 저도 vgg를 사용하는 이후 코드에서는 vgg11을 먼저 학습시키고 feature extractor에서는 4개의 conv. layer를, classifier에서는 3개의 layer 전부를 복사해서 파라미터 초기화에 사용합니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
직업정보제공사업 신고번호: J1204020250004
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io |
전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
안녕하세요 혹시 이 코드를 그대로 실행하면 정확도가 다른데 추가적으로 수정해야 될까요?