2022년 1월 24일(월)부터 28일(금)까지 네이버 부스트캠프(boostcamp) AI Tech 강의를 들으면서 개인적으로 중요하다고 생각되거나 짚고 넘어가야 할 핵심 내용들만 간단하게 메모한 내용입니다. 틀리거나 설명이 부족한 내용이 있을 수 있으며, 이는 학습을 진행하면서 꾸준히 내용을 수정하거나 추가해 나갈 예정입니다.
PyTorch 프로젝트 구조
PyTorch Project Template
초기 단계에서는 학습과정과 디버깅 등을 지속적으로 확인할 수 있는 대화식 개발 과정이 유리하지만, 배포 및 공유 단계에서는 실행 순서가 꼬일 수 있는 등 여러 이유로 인해 notebook 파일로 공유하는 건 어려움이 있다.
DL(Deep Learning) 코드도 하나의 프로그램이므로 개발 용이성을 확보하고 유지보수를 향상시킬 필요가 있다.
OOP + 모듈 → 프로젝트
실행, 데이터, 모델, 설정, logging, 지표, 유틸리티 등 다양한 모듈을 분리하여 프로젝트를 템플릿화할 필요가 있다.
이는 사실 모든 프로그램을 개발하는 데 있어서 필요한 부분이 아닌가 하는 생각이 든다.
마치 Node.js에서처럼 코드를 refactoring하여 유지 보수가 용이하게끔 구조화시키는 것처럼 말이다.