# Pytorch Project Template
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/BoostcampAITech/lecture-note-python-basics-for-ai/blob/main/codes/pytorch/07_torch-study/pytorch_project.ipynb)
!pip3 install torch
!pip3 install torchvision
from google.colab import drive
drive.mount('/content/drive')
!git clone https://github.com/victoresque/pytorch-template
!ls
%cd /content/pytorch-template
!python new_project.py MNIST-example
NGROK_TOKEN = '1mn46f5zchuMTvgUwv7MECrVYy1_7rVtSq7XzXgCd1qZB6CBE' # ngrok 토큰
PASSWORD = 'upstage' # 비밀번호 설정
!pip install colab-ssh
from colab_ssh import launch_ssh
launch_ssh(NGROK_TOKEN, PASSWORD)
class Test(object):
def __getitem__(self, items):
print (type(items), items)
# Driver code
test = Test()
test[5]
test[5:65:5]
test['GeeksforGeeks']
test[1, 'x', 10.0]
test['a':'z':2]
test[object()]
초기 단계에서는 대화식 개발 과정이 유리 -> 학습과정과 디버깅 등 지속적인 확인.
배포 및 공유 단계에서는 notebook 공유의 어려움 -> 쉬운 재현의 어려움, 실행순서 꼬임.
DL 코드도 하나의 프로그램이기 떄문에 개발 용이성+유지보수 향상 필요.
코드도 레고 블록처럼, OOP + 모듈 → 프로젝트
다양한 프로젝트 템플릿이 존재
사용자 필요에 따라 수정하여 사용
실행, 데이터, 모델, 설정, 로깅, 지표, 유틸리티 등 다양한 모듈들을 분리하여 프로젝트 템플릿화
PyTorch Template 추천 repository
https://github.com/victoresque/pytorch-template
https://github.com/FrancescoSaverioZuppichini/PyTorch-Deep-Learning-Template
https://github.com/PyTorchLightning/deep-learning-project-template
https://github.com/davinnovation/pytorch-boilerplate
여기서는 pytorch-template으로 진행해봄
모듈구성
git clone https://github.com/victoresque/pytorch-template
cd pytorch-template
## 해당 명령어로 같은 구조를가진 MyProject 폴더를 생성
python new_project.py MyProject
cd MyProject
python train.py -c config.json
로컬에서 한번 해볼 떄 쓴 명령어
train.py가 잘 되는 것을 볼 수 있음
작업 순서
1. colab에 들어간다.
2. torch, torchvision 패키지를 설치한다.
!pip3 install torch
!pip3 install torchvision
3. mount
from google.colab import drive
drive.mount('/content/drive')
4. 보고자 하는 레포지토리 깃클론
!git clone https://github.com/victoresque/pytorch-template
!ls
5. 해당 폴더 위치로 이동
%cd /content/pytorch-template
6. 프로젝트 만들기 MNIST-example이 이름
!python new_project.py MNIST-example
7. ngrok 사이트 가서 회원가입 하면 나오는 autotoken을 바로 복수해서 가져온다.
NGROK_TOKEN = '1mn46f5zchuMTvgUwv7MECrVYy1_7rVtSq7XzXgCd1qZB6CBE' # ngrok 토큰
PASSWORD = 'upstageupstage' # 비밀번호 설정
8. colab-ssh 패키지 설치
!pip install colab-ssh
9. launch_ssh 실행.
from colab_ssh import launch_ssh
launch_ssh(NGROK_TOKEN, PASSWORD)
10. 토큰이 맞으면
Warning: Due to some issues with ngrok on Google Colab, reported in the issue https://github.com/WassimBenzarti/colab-ssh/issues/45, we highly recommend that update your code by following this documentation
https://github.com/WassimBenzarti/colab-ssh#
getting-started Successfully
running 8.tcp.ngrok.io:14273
[Optional] You can also connect with VSCode SSH Remote extension using this configuration: Host google_colab_ssh HostName 8.tcp.ngrok.io User root Port 14273
8.tcp.ngrok.io
Port:14273
이렇게 뜬다.
12. remote -ssh 확장자를 설치하고
13. MAC에서는 cmd + shift + P를 해서
Remote - SSH : Add New SSH Host를 클릭
ssh root@8.tcp.ngrok.io -p 14273
pid가 아니라 port 번호
그리고 connect to ssh host를 해서 방금 더한 8.tcp~를 누르면 된다.
만약 코랩에서 돌아가고 있으면
잘 들어가진다.
finger print 허용하고
패스워드는 아까 토큰 밑에 썼던 그거 쓰면 된다. (로그인 패스워드 노노)
그렇게 되면 접속한 거임!
폴더 열기하고 /content/(GITREPOSITORY)를 들어가면됨
우리의 예시로는 /content/pytorch-template에 들어가면 된다.
'Boostcamp AI tech 3기 > 개념 이해' 카테고리의 다른 글
torch Tensor 크기 구하기 torch.numel() (0) | 2022.01.26 |
---|---|
torch.range is deprecated warning -> torch.arange (0) | 2022.01.25 |
텐서 함수 조금 정리. 생성, 타입, select, cat, stack (0) | 2022.01.25 |
pytorch의 reshape and view 차이 (+ contiguity 문제) (0) | 2022.01.24 |
[Week02] Pytorch - 1강 Introduction to Pytorch (0) | 2022.01.24 |
[Week01] AI Math - 경사하강법과 알고리즘 (0) | 2022.01.20 |
[Week01] AI Math - 행렬과 역행렬 그리고 무어-펜로즈 역행렬 (0) | 2022.01.20 |
[Week01] AI Math - 벡터의 길이, 각도, 내적 구하기 (0) | 2022.01.20 |