코린이/코딩 기초 & 알고리즘 공부
[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에서는 제대로 작동하지 않을 수도 있다고 한다.