초기 단계에서는 학습과정과 디버깅등의 확인이 가능하기 때문에 notebook이 유리하지만
배포 및 공유 단계에서는 notebook 공유가 어렵다.
따라서 실행, 데이터, 모델, 설정, 로깅 등 다양한 모듈들을 분리하여 프로젝트를 템플릿화 할 필요성이 있다.
프로젝트 템플릿 구조
https://github.com/victoresque/pytorch-template
Colab에서 해당 템플릿을 클론
아래와 같이 MNIST-example이라는 새로운 프로젝트가 만들어짐을 확인할 수 있다.
Ngrok을 사용해 Colab과 VScode 연결
ngrok에 로그인을 하면 아래와 같은 화면이 나오는데 token부분을 복사한다.
colab에 아래와 같이 복사한 토큰과 비밀번호를 설정한다.
필요한 라이브러리를 설치하고 아래와 같이 토큰과 비밀번호를 통해 연결한다.
VS Code의 Remote - SSH를 우선 설치한다.
Ctrl+shift+P를 누르고 Remote-SSH: Add New SSH Host를 누른다.
그러면 주소를 입력하는 창이 나오는데 주소는 위에 코랩환경에서 출력된 HostName과 Port를 입력한다.
ssh root@<HostName> -p <Port번호>
그리고 해당 위치에 정보를 저장한다.
앞서서 정보를 저장했으니 연결을 해야하므로 ctril+shift+p를 누르고 Connect to Host를 클릭한다.
OS로 Linux를 선택
계속 → 비밀번호 입력하면 접속 성공한다.
터미널을 켜보고 디렉토리를 확인하면 colab의 디렉토리와 동일한 것을 확인할 수 있다.
코드를 보고싶을 때
폴더 열기를 누른다.
그리고 보고자하는 코드의 경로를 입력한다.
설정한 비밀번호를 입력하면 아래와 같이 해당 폴더를 볼 수 있다.
다른 캠퍼분의 추천 템플릿 : https://github.com/ashleve/lightning-hydra-template
부스트캠프 AI Tech 교육 자료를 참고하였습니다.