PyTorch 프로젝트 구조
PyTorch Project Template Overview
- jupyter notebook 같은 대화식 개발 과정이 초기 단계에서 유리할 수 있다.
- 학습과정과 디버깅 등 지속적인 확인이 가능하다. - 배포 및 공유 단계에서는 notebook 공유는 좋지 않을 수 있다.
- 쉬운 재현의 어려움, 실행순서가 꼬일 수 있다. - 개발 용이성 확보와 유지보수 향상을 위한 방법이 필요하다.
OOP + 모듈 -> 프로젝트
실행, 데이터, 모델, 설정, 로깅, 지표, 유틸리티 등 다양한 모듈들을 분리하여 프로젝트 템플릿화 할 수 있다.
PyTorch Template 추천
https://github.com/victoresque/pytorch-template
- base - abstract module
- base_data_loader : 데이터 불러오기- base_model : model architecture 설정
- base_trainer : 실행을 시켜주는 가장 기본적인 단계의 트리거
- trainer : 학습을 수행하기 위한 트리거. 여러가지 설정, 모델, 데이터 저장소, 로깅하는 방법들을 다 넣고 실행. 각각의 '레고 블록'을 연결
터미널 실행 예시
conda activate torch
python new_project.py MyProject
cd MyProject
code .
python train.py -c config.json
train.py
if __name__ == '__main__':
# 실행 창에서 argument 지정해줄 때,
args = argparse.ArgumentParser(description='PyTorch Template')
# 실행할 때 설정 파일 불러오기. 예시: python train.py -c config.json
args.add_argument('-c', '--config', default=None, type=str,
help='config file path (default: None)')
# 예전에 실행했던 것을 연속해서 실행할 것인지
args.add_argument('-r', '--resume', default=None, type=str,
help='path to latest checkpoint (default: None)')
# cpu or gpu
args.add_argument('-d', '--device', default=None, type=str,
help='indices of GPUs to enable (default: all)')
등등...
다음주 프로젝트부터 다시 실전에서 부딪혀보자... ㅎㅎ...
Author And Source
이 문제에 관하여(PyTorch 프로젝트 구조), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jeongjae96/PyTorch-프로젝트-구조저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)