Logging — PyTorch Lightning 1.8.6 documentation
Shortcuts
pytorch-lightning.readthedocs.io
로그를 기록하는 방법은 Lightening Module에서 self.log()나 self.log_dict()를 이용하면 된다.
def training_step(self, batch, batch_idx):
self.log_dict({'acc': acc, 'recall': recall})
self.log('acc', acc)
logging (log(), log_dict() 모두 동일하게 적용) 의 중요한 인자는 on_step과 on_epoch이다.
- on_step: 현재 step에 logging
- on_epoch: 로그를 축적하여 epoch 마지막에 logging
어느 위치에서 logging method를 호출하느냐에 따라 on_step과 on_epoch가 자동으로 설정된다 (물론 수동으로 이 값을 지정해도 된다)
logging으로 저장된 값들은 trainer.logged_metrics에서 확인할 수 있다.
def training_step(self, batch, batch_idx):
self.log("a_val", 2, logger=True)
logged_metrics = trainer.logged_metrics
assert logged_metrics["a_val"] == 2
Trainer을 초기화할 때 logger에 TensorBoardLogger를 전달하면 Tensorboard로 logging을 할 수 있다.
from pytorch_lightning import Trainer
from pytorch_lightning.loggers import TensorBoardLogger
logger = TensorBoardLogger(save_dir='logs/')
trainer = Trainer(logger=logger)
Tensorboard 외에도 다음과 같이 다양한 logger을 이용할 수 있다. (참고)
반응형
'🐍 Python & library > PyTorch Lightning' 카테고리의 다른 글
[PyTorch Lightning] checkpoint 저장하기 (0) | 2023.02.07 |
---|