반응형
# NeRF code
def config_parser():
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--render_only", action='store_true',
help='do not optimize, reload weights and render out render_poses path')
parser.add_argument("--render_test", action='store_true',
help='render the test set instead of render_poses path')
return parser
요즘 github에 보면 argparse를 이용해서 인자를 받고 training 시키는 형태는 수 없이 볼 수 있다.
무심코 지나쳤던 부분인데, parser에서 action='store_true' 부분은 무엇일까?
나는 처음에는 "true 값을 가지는 것이구나" 라고 생각했지만 아니였다..!
# Simple example
# parser.py
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--ex1", action="store_true")
parser.add_argument("--ex2", action="store_true")
parser.add_argument("--ex3", action="store_false")
parser.add_argument("--ex4", action="store_false")
args = parser.parse_args()
print(args.ex1)
print(args.ex2)
print(args.ex3)
print(args.ex4)
위와 같은 코드가 있다고 하자. 그렇다면 parser는 현재 ex1, ex2, ex3, ex4라는 인자를 가지고 있는 것이다.
# Python terminal
python parser.py --ex1 --ex4
>> True
>> False
>> True
>> False
action='store_true': 값이 입력되면 True를 출력하고 아니면 False를 출력.
action='store_False': 값이 입력되면 False를 출력하고 아니면 True를 출력.
위와 같이 정리가 가능하다!
2023.02.09 Kyujinpy 작성.
반응형