etc

PyTorch와 PyTorch Lightning

민사민서 2024. 8. 29. 13:37

💡 PyTorch 설치 관련

pip install "numpy<2"
  • Numpy 1.x 버전으로 다운그레이드
  • PyTorch가 NumPy 2.0.0과의 호환성 문제를 일으키더라고요 (지금은 아닐수도?)
pip install torch, torchvision, matplotlib, pandas
  • 필요한 패키지 선택적으로 추가 설치 ㄱㄱ

💡 PyTorch 튜토리얼 (온라인)

https://tutorials.pytorch.kr/beginner/basics/intro.html

https://tutorials.pytorch.kr/recipes/recipes_index.html

💡 PyTorch Lightning 이란

PyTorch 기반의 딥러닝 모델을 더 쉽게 개발하고 관리할 수 있도록 도와주는 고수준의 라이브러리

  • Lightning Module은 모델 내부의 구조를 설계하는 research & science 클래스
    • 모델의 구조나 데이터 전처리, 손실함수 등의 설정을 통해 모델을 초기화
    • 기존 PyTorch의 nn.Module과 같은 방식
  • Trainer는 모델의 학습을 담당하는 클래스
    • 모델의 학습 epoch이나 batch 등의 상태뿐만 아니라, 모델을 저장해 로그를 생성하는 부분까지 담당
    • 실제로 코드에서는 pl.Trainer()라고 정의하면 끝

💡 PyTorch Lightning 설치 관련

python3 -m venv venv
source venv/bin/activate

pip install "numpy<2"
pip install lightning torch torchvision
pip install tensorboard
  • training visualize를 위해 tensorboard 설치
from lightning.pytorch.loggers import TensorBoardLogger
...
logger = TensorBoardLogger("tb_logs", name="autoencoder")
trainer = L.Trainer(
    limit_train_batches=100, 
    max_epochs=1,
    logger=logger
)

 

실행해서 로그 찍은 다음 아래 명령어 실행하면 http://localhost:6006/ 여기에 뜸

tensorboard --logdir tb_logs

 

💡 PyTorch Lightning 튜토리얼

https://lightning.ai/docs/pytorch/stable/?referrer=platform-docs

https://lightning.ai/docs/pytorch/stable/notebooks/lightning_examples/cifar10-baseline.html

https://lightning.ai/docs/pytorch/stable/notebooks/lightning_examples/datamodules.html

https://lightning.ai/docs/pytorch/stable/notebooks/lightning_examples/datamodules.html