본문 바로가기
AI Developer/AI Python Tech

[argparse] Python 스크립트 실행 시 인자 값 전달하기

by 성 언 2023. 8. 13.

argparse에 대해 학습 후 정리한 포스팅 입니다.

 

이번 포스팅에서는 argparse를 활용한 Python 스크립트 실행 시 인자값 전달하는 방법에 대해 학습합니다.

 

 

I) argparse 란?

`argparse`는 파이썬에서 커맨드 라인 인자를 파싱하고 처리하는 라이브러리입니다. 

 

 

 

 

 

II) AI 모델에서 argparse 

AI 모델에서는 `argparse`를 사용하여 스크립트를 실행할 때 모델 아키텍처, 하이퍼파라미터, 입력 데이터 경로, 출력 경로 등의 설정을 사용자가 지정할 수 있도록 할 수 있습니다. 

이를 통해 AI 모델이 더 다양한 상황에서 사용 가능하고 사용자 친화적인 모델이 됩니다.

 

 

 

 

 

III) argparse를 활용한 코드

import argparse

# argparse: 명령줄 인수를 파싱하는 기능을 제공하는 모듈. argparse.ArgumentParser: ArgumentParser 객체를 생성
parser = argparse.ArgumentParser(description='Argparse Test')

# add_argument()를 통해서 parser 객체에 인자에 대한 정보를 입력/ type, default, help 옵션 존재
parser.add_argument('--model', type=str, default='VGGNet', help = 'model_name'))
parser.add_argument('--epoch', type=int, default= 1000, help = 'epoch_size')
parser.add_argument('--batch_size',type=int, default=128, help = 'batch_size')
parser.add_argument('--random_seed',type=int, default=1, help = 'random_seed')

# parse_args()를 통해서 입력받은 인자를 파싱하고 args에 저장, args객체를 통해 인수에 접근 가능
args = parser.parse_args()

# 입력받은 인자값 출력
print(args.model)
print(args.epoch)
print(args.batch_size)
print(args.random_seed)

 

  • 터미널에서 실행
$ python main.py

> VGGNet
> 1000
> 128
> 1

# 세부 내용 확인
$ python main.py -help

# 입력 값 적용
$ python main.py --model='CNN' --epoch=2000 --batch_size=256 --random_seed=8
 
> 'CNN'
> 2000
> 256
> 8

 

  • 쉘 스크립트 파일로 실행 (bash main.sh)
#!/bin/bash
for i in {1..40}
    do
        python main.py --model 'LeNet' --epoch=2000 --baatchsize=256 --radnom_seed= $i
    done

40개의 radom_seed로 코드를 각각 실행하는 예시

 

 

 

 

 

 

 

ref:

[ python ] argparse 사용 방법. 예제.

 

[ python ] argparse 사용 방법. 예제.

[ python ] argparse 사용 방법. 예제. 머신러닝 모델의 하이퍼 파라미터를 쉽게 관리할 수 있다. 파이썬 3.7 기준 사용법 먼저, 다음과 같은 python file 을 만든다. import argparse # 인자값을 받을 수 있는 인

supermemi.tistory.com

[Python] argparse 사용법 (파이썬 인자값 추가하기)

 

[Python] argparse 사용법 (파이썬 인자값 추가하기)

파이썬 스크립트를 개발할 때, 호출 당시 인자값을 줘서 동작을 다르게 하고 싶은 경우가 있습니다. 이때, 파이썬 내장함수인 argparse 모듈을 사용하여 원하는 기능을 개발할 수 있습니다.아래 설

brownbears.tistory.com

 

 

 

<Summary>

- 데이터프레임 (argparse를 활용하여 Python 스크립트 실행 시 인자값 전달하기)

 

 

 

*유의사항

- AI 산업기능요원이 공부하여 남긴 정리입니다.

댓글