예제는 학습률 감소와 조기 종료 두 개에 대한 성능 튜닝을 진행하고 있습니다. 즉, 함수에 넘겨주는 인수(argument) 값에 따라 다른 동작을 하도록 해야 하는데, 이때 사용할 수 있는 것이 argparse 라이브러리입니다. ArgumentParser()를 이용하여 변수와 타입을 정의해 주고 add_argument()를 이용해서 변수에 인수 값을 하나씩 추가합니다. 그리고 마지막으로 parse_args()를 통해 사용자로부터 입력받은 값들을 args 변수에 저장합니다.
코드 8-26 인수 값 지정
parser = argparse.ArgumentParser() ------ 인수 값을 받을 수 있는 인스턴스 생성
parser.add_argument('--lr-scheduler', dest='lr_scheduler', action='store_true') ------ ①
parser.add_argument('--early-stopping', dest='early_stopping', action='store_true') ------ 조기 종료에 대한 인수
args = vars(parser.parse_args()) ------ ②
① 원하는 인수 값을 추가합니다. 이때 parser.add_argument()는 인수 개수만큼 만들어 줍니다.
ⓐ 첫 번째 파라미터: 옵션 문자열의 이름으로 명령을 실행할 때 사용하는데 예를 들어 다음과 같습니다.
> python main.py --lr-scheduler