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 사용법 (파이썬 인자값 추가하기)
<Summary>
- 데이터프레임 (argparse를 활용하여 Python 스크립트 실행 시 인자값 전달하기)
*유의사항
- AI 산업기능요원이 공부하여 남긴 정리입니다.
'AI Developer > AI Python Tech' 카테고리의 다른 글
[tqdm] 진행 상황 표시 모듈 (0) | 2023.08.16 |
---|---|
[PyTorch] AI 모델 저장 & 불러오기 (0) | 2023.08.15 |
[DataFrame] Pandas DataFrame 다루기 - iloc & loc, 값 변경 (0) | 2023.08.12 |
[DataFrame] Pandas DataFrame 다루기 - 특징, 생성, column 수정, index 수정 (0) | 2023.08.11 |
[딥러닝] 기본 용어 (Data, Model, Loss, Optimization Algorithm) (0) | 2023.01.13 |
댓글