Skip to content

2022-2 DNN Mid-term project : Bag of Tricks for Image Classification

Notifications You must be signed in to change notification settings

scyonggg/DNN_22_2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2022-2 DNN Mid-term project implementation code

  • Subject: Bag of Tricks for Image Classification

Quick Start

Requirements

timm
wandb
pytorch
kornia

Steps

0. train.py의 parser 옵션들 필독할 것. 잘 이해 안되는 옵션은 물어보세요

DNN_22_2/train.py

Lines 24 to 44 in de3d5b7

parser = argparse.ArgumentParser()
parser.add_argument('--net', type=str, required=True, help='net type')
parser.add_argument('--num_workers', type=int, default=2, help='number of workers for dataloader')
parser.add_argument('--batch_size', type=int, default=256, help='batch size for dataloader')
parser.add_argument('--loss', type=str, default='label_smooth', choices=['label_smooth'], help='loss function')
parser.add_argument('--weight_decay', action='store_true', help='1-D. No bias decay (regularization)')
parser.add_argument('--optimizer', type=str, default='SGD', choices=['SGD', 'AdamW'], help='Optimizer')
parser.add_argument('--lr', type=float, default=0.04, help='learning rate')
parser.add_argument('--init_lr', type=float, default=0.001, help='initial learning rate when using learning rate scheduler')
parser.add_argument('--decay_rate', type=float, default=0.9, help='learning rate decay rate when using multi-step LR scheduler')
parser.add_argument('--lr_scheduler', type=str, default='cosinelr', choices=['cosinelr', 'steplr'], help='learning rate scheduler')
parser.add_argument('--epochs', type=int, default=450, help='training epoches')
parser.add_argument('--warm_t', type=int, default=5, help='warm up phase')
parser.add_argument('--decay_t', type=int, default=10, help='Decay LR for every decay_t epochs in StepLR')
parser.add_argument('--gpus', type=str, default=0, help='gpu device')
parser.add_argument('--log_step', type=int, default=1, help='printing loss step')
parser.add_argument('--val_step', type=int, default=1, help='validation step')
parser.add_argument('--save_step', type=int, default=1, help='save checkpoint step')
parser.add_argument('--wandb', action='store_true', help='tracking with wandb')
parser.add_argument('--run_name', type=str, default='scy_exp3', help='wandb run name')
args = parser.parse_args()

  1. conf/settings.py에서 DATA_PATH를 train dataset 위치로 수정

  2. wandb를 사용할 경우

    a. script.sh에 --wandb를 추가

    b. 터미널에 wandb login 입력 후, wandb 홈페이지에서 API Keys를 복-붙

    c. train.py에서 wandb.init() 을 다음과 같이 설정.

    • project : 본인 이름
    • entity : "dnn_22_2"
    • name : 본인이 실험할 내용을 짧게 요약 (e.g. CSE_Loss_cosineLR 식으로). script.sh에서 run_name을 수정
    • 예시

    wandb.init(project='scy_test', entity="dnn_22_2", name=args.run_name, settings=wandb.Settings(code_dir="."))

  3. 0번의 parser에 따라 본인이 실험할 내용에 맞춰 script.sh 옵션들 수정 및 확인 후 터미널에 bash script.sh 실행

    a. --gpus에 본인이 사용할 gpu 번호를 넣으면 됨. (수정했음)

  4. wandb에 잘 올라오는지 확인

To DO

  1. 도커 업데이트 or 콘다 업데이트
  2. requirement 업로드

About

2022-2 DNN Mid-term project : Bag of Tricks for Image Classification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published