argarse 라이브러리 tutorial

박병현·2022년 2월 11일
0

argparse 모듈

argsparse 모듈을 활용하여, python 파일 실행 시 변수 설정 가능

  • 딥러닝 모델 하이퍼파라미터 셋팅에 용이하다.
  • 다양한 설정값을 갖는 실행에 용이하게 사용가능하다.

    본 내용은, argparse를 활용하여, 3개의 숫자를 인자로 받아 합계를 계산하는 간단한 모듈을 구현합니다.


✔ STEP 01 : 인자값을 받을 인스턴스 생성

  • ArgumentParser 를 활용하여, argument 정보를 담을 인스턴스 생성
    - prog : 프로그램명을 작성
    • description : 모듈의 정보를 요약하여 작성
    • formatter_class : ArgumentDefaultsHelpFormatter (권장)
# argparse_sum_practice.py
import argparse

# STEP 01 : 인자값을 받은 인스턴스(객체) 생성
parser = argparse.ArgumentParser(
        prog='프로그램명을 입력',
        description='Argparse Tutorial : 3개의 변수를 입력하여 합산',
        formatter_class=argparse.ArgumentDefaultsHelpFormatter)

위 ArgumentDefaultsHelpFormatter 설정 시, --help 인자를 통해 변수별 상세 정보를 확인할 수 있다.

$ python ./argparse_sum_practice.py 

아래와 같이 출력되는 것을 확인할 수 있다.

usage: 프로그램명을 입력 [-h]

Argparse Tutorial : 3개의 변수를 입력하여 합산

optional arguments:
  -h, --help  show this help message and exit

✔ STEP 02 : 인자값 추가

앞서 인자를 담기 위해 생성한 parser 객체에 인자를 추가합니다.

  • 3개의 변수를 입력받기 위해, 3개의 add_argument를 추가합니다.
  • 각각의 변수는 모두 integer 타입으로 진행하며 , default값 또한 설정 가능
parser.add_argument(
    '--first',
    type=int, default=1,
    help='첫번째 인자를 입력하세요')

parser.add_argument(
    '--second',
    type=int, default=2,
    help='두번째 인자를 입력하세요')

parser.add_argument(
    '--third',
    type=int, default=3,
    help='세번째 인자를 입력하세요')

✔ STEP 03 : 추가된 인자 parsing

  • args객체에 추가된 인자 정보 저장
# parser 객체에 추가한 arguments들의 정보를 parsing하여 `args`객체에 저장
args = parser.parse_args()

# 추가된 각각의 인자값 호출 가능
x = args.first
y = args.second
z = args.third

print(f"x : {x}")
print(f'y : {y}')
print(f'z : {z}')

print(f'세 수의 합 : {x+y+z}')

✔ STEP 04 : 파이썬 모듈 실행

  • 모듈 실행 전 --help를 통해 입력정보를 파악 가능
$ python ./argparse_sum_practice.py 
usage: 프로그램명을 입력 [-h] [--first FIRST] [--second SECOND] [--third THIRD]

Argparse Tutorial : 3개의 변수를 입력하여 합산

optional arguments:
  -h, --help            show this help message and exit
  --first FIRST, -f FIRST
                        첫번째 인자를 입력하세요 . (default: 1)
  --second SECOND, -s SECOND
                        두번째 인자를 입력하세요 . (default: 2)
  --third THIRD, -t THIRD
                        세번째 인자를 입력하세요 . (default: 3)
  • 임의의 변수를 3개를 입력하여, 합산이 잘 되는지 결과 확인
$ python ./argparse_sum_practice.py --first=150 --second=200 --third=50
x : 150
y : 200
z : 50
세 수의 합 : 400

위와 같이, 원하는 형식으로 잘 출력되는 것을 확인할 수 있다.

딥러닝모델의 하이퍼파라미터 셋팅에 상당히 유용하게 활용될 예정

profile
AI Developer

0개의 댓글