728x90
- 1편 : 프로젝트 요약 및 LightningModule 설계
- 2편 : Dataset 구축 및 DataLoader 구축
- 3편 : logger 작성, wandb 연동 및 확인
- 4편 : 모델 로딩 및 실행결과(wandb) 확인
이번에는 훈련이 잘되고 있는지 확인하기 위해 필요한 것들에 대해 알아보려고 합니다. 모델 인수들이 잘 입력되었는지 log에 확인하기 위한 logger 작성과 훈련 loss들이 잘 훈련되고 있는지에 대해 알려주는 wandb, tensorboard에 대해 알아보려고합니다.(tensorboard는 추후에 작성하도록 하겠습니다.)
logger 작성
import logging
import sys
def get_logger(name: str) -> logging.Logger:
"""Return logger for logging
Args:
name: logger name
"""
logger = logging.getLogger(name)
logger.propagate = False
logger.setLevel(logging.DEBUG)
if not logger.handlers:
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(logging.Formatter("[%(asctime)s] %(message)s"))
logger.addHandler(handler)
return logger
- logging.getLogger(name) : 이름이 'name'인 로거 객체를 생성하거나, 존재하는 경우 해당 로거를 반환한다.
- logger.setLevel(logging.DEBUG) : 로거의 로그 레벨을 'DEBUG'로 설정
- logger.handler : 로거에 핸들러(콘솔, 파일)가 없는 경우 설정
- handler.setFormatter(logging.Formatter("[%(asctime)s] %(message)s"))는 로그 메시지의 형식을 설정
- %(asctime)s는 로그가 기록된 시간, %(message)s는 로그 메시지를 나타낸다.
- logger.addHandler(handler)는 생성된 핸들러를 로거에 추가
- handler.setFormatter(logging.Formatter("[%(asctime)s] %(message)s"))는 로그 메시지의 형식을 설정
wandb 사용
wandb 로그인 방법은 여기를 클릭하세요.
import wandb
from pytorch_lightning.loggers import WandbLogger
wandb.login()
wandb.login()을 이용해 API KEY를 입력하면 wandb 연동 성공입니다.
이제 마지막으로 모델로딩, 훈련 및 실행결과를 확인해보도록 하겠습니다.
'AI & DL > Pytorch Lightning' 카테고리의 다른 글
[Pytorch Lightning] 튜토리얼 1 - 모델을 만들고 훈련시키기 (0) | 2024.07.19 |
---|---|
[Pytorch Lightning] BART를 이용해 Text를 요약해보자 - 4 (완) (0) | 2024.07.16 |
[Pytorch Lightning] BART를 훈련해 Text를 요약해보자 - 2 (0) | 2024.07.13 |
[Pytorch Lightning] BART를 훈련해 Text를 요약해보자 - 1 (0) | 2024.07.11 |
[Pytorch Lightning] 파이토치 라이트닝 기초(LightningModule, Trainer) (0) | 2024.01.13 |