Birds400 - Wideresnet - 세부조정

Bomin Seo·2022년 8월 12일
0

Learning rate 조정

  • minimum point에 빠르게 도달하기 위하여 learning rate 0.1에서 0.12로 수정

learning rate schduler 단계 추가

  • learning rate를 단계적으로 줄여주는 stepLR의 단계를 기존 3단계에서 5단계로 각각 0.2씩 LR축소

train data 확보

  • train data와 valid data를 9:1 비율로 분할하는 것이 아닌 일반화를 위하여 9.5:0.5 비율로 분할
data = datasets.ImageFolder(data_dir)
train_size = int(len(data)*0.95)
val_size = int((len(data)-train_size))
train_data,val_data = random_split(data,[train_size,val_size])
torch.manual_seed(3334)
print(f'train size: {len(train_data)}\nval size: {len(val_data)}')

Depth / width 실험

  • 경우 1 : depth 28 / width 3
  • 경우 2 : depth 16 / width 4
  • 경우 3 : depth 10 / width 5

매개변수 정리 및 결과

  • optimizer = SAM(model.parameters(), base_optimizer, rho=args.rho, adaptive=args.adaptive, lr=args.learning_rate, momentum=args.momentum, weight_decay=args.weight_decay)
  • scheduler = StepLR(optimizer, args.learning_rate, args.epochs)
  • batch size = 32

경우 1 : depth 28 / width 3

  • accuracy : 0.93700

경우 2 : depth 16 / width 4

  • accuracy : 0.93650

경우 3 : depth 10 / width 5

  • accuracy : 0.92700
profile
KHU, SWCON

0개의 댓글