Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Transformer
- ODQA
- GPT
- 2023 현대차·기아 CTO AI 경진대회
- 딥러닝
- RNN
- 데이터 구축
- word2vec
- AI Math
- AI 경진대회
- Attention
- mrc
- pyTorch
- nlp
- Ai
- Self-attention
- 데이터 시각화
- N2N
- Optimization
- Bart
- N21
- dataset
- Data Viz
- 기아
- seaborn
- Bert
- 현대자동차
- matplotlib
- KLUE
- passage retrieval
Archives
- Today
- Total
쉬엄쉬엄블로그
PyTorch 프로젝트 구조 이해하기 본문
728x90
Project Template
PyTorch Project Template Overview
- 초기 단계에서는 대화식 개발 과정이 유리
- 학습과정과 디버깅 등 지속적인 확인
- 배포 및 공유 단계에서는 notebook 공유의 어려움
- 쉬운 재현의 어려움, 실행순서 꼬임
- DL 코드도 하나의 프로그램
- 개발 용이성 확보와 유지보수 향상 필요
- 코드도 레고블럭 처럼…
- OOP + 모듈 → 프로젝트
- 사용자 필요에 따라 수정하여 사용
- 실행, 데이터, 모델, 설정, 로깅, 지표, 유틸리티 등 다양한 모듈들을 분리하여 프로젝트 템플릿화
- PyTorch Template 추천 repository
Module 구성
pytorch-template/
│
├── train.py - main script to start training
├── test.py - evaluation of trained model
│
├── config.json - holds configuration for training
├── parse_config.py - class to handle config file and cli options
│
├── new_project.py - initialize new project with template files
│
├── base/ - abstract base classes
│ ├── base_data_loader.py
│ ├── base_model.py
│ └── base_trainer.py
│
├── data_loader/ - anything about data loading goes here
│ └── data_loaders.py
│
├── data/ - default directory for storing input data
│
├── model/ - models, losses, and metrics
│ ├── model.py
│ ├── metric.py
│ └── loss.py
│
├── saved/ (저장소 - 모델 상태, 로그)
│ ├── models/ - trained models are saved here
│ └── log/ - default logdir for tensorboard and logging output
│
├── trainer/ - trainers (학습 수행)
│ └── trainer.py
│
├── logger/ - module for tensorboard visualization and logging (로깅 설정)
│ ├── visualization.py
│ ├── logger.py
│ └── logger_config.json
│
└── utils/ - small utility functions (유틸리티)
├── util.py
└── ...
Ngrok 으로 Colab과 VSCode 연결하기
- 노트북 파일에서 https://github.com/victoresque/pytorch-template 깃헙의 템플릿을 클론한 후
MNIST-example 프로젝트 폴더를 생성한다.
- https://ngrok.com/ 에 로그인한 후 아래 그림의 2. Connect your account 부분의 명령어에서 token을 복사한다.
- 노트북 파일에서 colab-ssh 라이브러리를 설치한 후 복사한 token과 password를 변수로 지정한다.
- token과 password을 사용하여 ngrok을 실행한다.
- VSCode에서 extension으로 Remote -SSH를 설치한다.
- Ctrl+Shift+p를 누르고 remote를 검색하여 Remote-SSH: Add New SSH Host... 를 클릭한다.
- 입력창에 colab에서 확인했던 HostName과 Port 번호를 다음과 같이 입력한다.
ssh root@-p
- 저장 위치를 선택하여 연결 정보(ssh root@
-p )를 저장한다.
- 연결할 HostName을 선택한다.
- 사용할 OS를 선택한다.
(Colab에서 Linux를 사용하기 때문에 Linux 선택)
- Colab에서 설정했던 비밀번호를 입력한다.
- Ctrl + ` 를 눌러서 터미널을 실행하면 Colab과 동일한 디렉토리들을 확인할 수 있다.
- 파일 목록을 보고 싶다면 아래 그림들에서 표시한 빨간 네모 박스를 클릭하여 파일 목록을 볼 수 있다.
출처: 부스트캠프 AI Tech 4기(Naver Connect Foundation)
'부스트캠프 AI Tech 4기' 카테고리의 다른 글
AutoGrad와 Optimizer (0) | 2023.05.15 |
---|---|
Custom Model 제작 (0) | 2023.05.13 |
PyTorch Basics (0) | 2023.05.11 |
PyTorch 소개 (2) | 2023.05.10 |
RNN 기초 (0) | 2023.05.09 |
Comments