이것저것 기록

[python] argparse 사용하기 본문

코린이/코딩 기초 & 알고리즘 공부

[python] argparse 사용하기

anweh 2020. 10. 26. 13:01

 

머신러닝이나 딥러닝 코드에서 다음과 같은 실행 옵션 코드를 볼 수 있었다. 

python train.py --epochs 50 --batch-size 64 --save-dir weights

머신러닝이나 딥러닝은 수시로 인자값을 바꿔주면서 최적의 세트를 찾아야하기 때문에, 

위의 코드처럼 파이썬 파일을 실행시키면서 인자값을 새로 지정해주는 코드가 많이 쓰인다. 

그럴 때 사용되는 모듈이 바로 argeparse인데, 알아두면 매우 유용하다! 

 

 

import argparse

parser = argparse.ArgumentParser(description=('값을 입력하세요.'))

# 인자값 입력
parser.add_argument('--x1:', required=True, help='x1값')
parser.add_argument('--x2:', required=True, help='x2값')

# args에 저장 
args = parser.parse_args()

# 입력받은 인자값 출력
x1 = args.x1
x2 = args.x2
y = x1 + x2
print('function: X1 + X2 = Y')
print('answer = {}'.format(y))

사용법은 대충 이렇게 간단하다. 

parser.add_argument를 여러개 더 추가해서, 내가 받고 싶은 인자 개수만큼 만들어주면 된다.

 

다만 argparse는 기본적으로 터미널에서 실행하는 것을 원칙으로 하기 때문에,

주피터 노트북 같은 대화형 실행 framework에서는 제대로 작동하지 않을 수도 있다고 한다. 

 

Comments