본문 바로가기

부스트캠프 AI Tech/Python

[10] configparser, argparser

configparser - 파일에 parser

  • 프로그램의 실행 설정을 file에 저장함
  • Section, Key, Value 값의 형태로 설정된 설정 파일을 사용
  • 설정파일을 Dict Type으로 호출후 사용

'example.cfg'
[SectionOne]
Status: Single
Name: Derek
Value: Yes
Age: 30
Single: True

[SectionTwo]
FavoriteColor = Green

[SectionThree]
FamilyName: Johnson


import configparser

config = configparser.ConfigParser()
config.read('example.cfg')
config.sections() # sections 확인

for key in config['SectionOne']:
    print(key, end=' ') # Single, Derek, Yes, 30, True
print('')
color = config['SectionTwo']['FavoriteColor']
f_name = config['SectionThree']['FamilyName']

print(color) # FavoriteColor
print(f_name) # FamilyName

argparser - Command-Line Option

Team Project - Semantic Segmention 코드 가져옴

import argparse

# Train
train(args.num_epochs, 
        model, 
        train_loader, 
        val_loader, 
        criterion, 
        optimizer, 
        args.saved_dir, 
        args.save_file_name, 
        args.val_every, 
        device)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--seed', type=int, default=42, help='random seed (default: 42)')
    parser.add_argument('--dataset_path', type=str, default='../input/data', help='dataset_path')
    parser.add_argument('--saved_dir', type=str, default='./saved', help='saved_dir')
    parser.add_argument('--save_file_name', type=str, default='fcn_resnet50_best_model(pretrained).pt', help='save_file_name')
    parser.add_argument('--batch_size', type=int, default=4, help='batch size for training (default: 4)')
    parser.add_argument('--num_epochs', type=int, default=20, help='num_epochs (default: 20)')
    parser.add_argument('--num_classes', type=int, default=11, help='num_classes (default: 11)')
    parser.add_argument('--val_every', type=int, default=1, help='val_every (default: 1)')
    parser.add_argument('--learning_rate', type=float, default=1e-3, help='learning rate (default: 1e-3)')
    parser.add_argument('--model', type=str, default='HrnetW48', help='model')
    parser.add_argument('--criterion', type=str, default='DiceWCELoss', help='criterion')
    parser.add_argument('--optimizer', type=str, default='AdamW', help='optimizer')
    args = parser.parse_args()

'부스트캠프 AI Tech > Python' 카테고리의 다른 글

[09] File Handling  (0) 2022.01.14
[08] Exception  (0) 2022.01.14
[07] 내장함수 property와 Decorator  (0) 2022.01.13
[06] Class, Inheritance, Visibility  (0) 2022.01.13
[05] 가변인자  (0) 2022.01.12