본문 바로가기

Python

[모듈화01] Pytorch Templete

일반적으로 처음 머신러닝, 딥러닝 모델 구축할 때 주피터 노트북이나 코랩을 많이 쓴다. 

 

나도 그렇다.... 대학원은 특히나 배포, 유지보수까지 할 필요가 없고 논문에서 실험 결과(평가지표)만 보여주면 되기 때문에 더욱더 패키지화하거나 객체지향...으로 코딩해서 쓰는 일이 없는 것 같다. 우리 연구실만 그럴수도 있음

 

하지만 깃허브에서 각종 베이스라인 모델 코드만 찾아봐도 다 모듈화 돼 있는 걸 볼 수 있다. 

(그래서 그냥 주피터 노트북으로 다 해결하는 입장에서 매우 곤란)

 

약간 지금까지 뭐하고 산건가 싶긴 하지만 평생 연구만 할게 아니므로 늦기 전에 모듈화에 익숙해지도록 하즈아

 


Pytorch Templete

관련 링크 : https://github.com/victoresque/pytorch-template

 

파이토치 사실 잘 모름. + 문과라 CS조차 제대로 배운 적 없음. 의 콜라보로 삽질 오지게 하는 요즘 ㅜㅜ

깃허브 아마 아래 템플릿으로 작성된 게 대부분인 것 같은데 누가 날 잡고 예제랑 같이 설명 자세히 해줬으면 좋겠음..

아무튼 링크에 설명 나름 자세히 되어 있어서  좀 감사함....

담부터 간단한 예제부터 차근차근 모듈화 실습 좀 해보는 것으루

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
    └── ...