【发布时间】:2021-11-15 11:48:29
【问题描述】:
我想提取所有数据来制作绘图,而不是使用 tensorboard。我的理解是,自从 tensorboard 绘制折线图以来,所有丢失和准确性的日志都存储在定义的目录中。
%reload_ext tensorboard
%tensorboard --logdir lightning_logs/
但是,我想知道如何从 pytorch 闪电中的记录器中提取所有日志。接下来是训练部分的代码示例。
#model
ssl_classifier = SSLImageClassifier(lr=lr)
#train
logger = pl.loggers.TensorBoardLogger(name=f'ssl-{lr}-{num_epoch}', save_dir='lightning_logs')
trainer = pl.Trainer(progress_bar_refresh_rate=20,
gpus=1,
max_epochs = max_epoch,
logger = logger,
)
trainer.fit(ssl_classifier, train_loader, val_loader)
我已经确认trainer.logger.log_dir 返回了似乎保存日志的目录,trainer.logger.log_metrics 返回了<bound method TensorBoardLogger.log_metrics of <pytorch_lightning.loggers.tensorboard.TensorBoardLogger object at 0x7efcb89a3e50>>。
trainer.logged_metrics 只返回最后一个 epoch 的日志,比如
{'epoch': 19,
'train_acc': tensor(1.),
'train_loss': tensor(0.1038),
'val_acc': 0.6499999761581421,
'val_loss': 1.2171183824539185}
你知道如何解决这个问题吗?
【问题讨论】:
标签: logging pytorch tensorboard pytorch-lightning