Pytorch Lightning Tensorboard Logger跨多个模型



我对闪电和记录器相对较新,而不是手动跟踪指标。我正在尝试训练两个不同的模型,并在Colab的tensorboard(或任何其他记录器)中将它们的准确性和损失绘制在相同的图表上。

我现在基本上是:

trainer1 = pl.Trainer(gpus=n_gpus, max_epochs=n_epochs, progress_bar_refresh_rate=20, num_sanity_val_steps=0)
trainer2 = pl.Trainer(gpus=n_gpus, max_epochs=n_epochs, progress_bar_refresh_rate=20, num_sanity_val_steps=0)
trainer1.fit(Model1, train_loader, val_loader)
trainer2.fit(Model2, train_loader, val_loader)
#Then later:
%load_ext tensorboard
%tensorboard --logdir lightning_logs/
在这一点上,我想看到的是那些记录的指标在同一个图表上,任何帮助将是感激的。我花了一些时间试图玩弄这个,但我有点超出我的深度,谢谢!

用于记录特定度量的确切图表取决于您在.log()调用中提供的密钥名称(这是Lightning从TensorBoard本身继承的功能)

def validation_step(self, batch, _):
#  This string decides which chart to use in the TB web interface
#         vvvvvvvvv
self.log('valid_acc', acc)

只需使用相同的字符串.log()调用,并将两个运行保存在同一个目录中。

logger = TensorBoardLogger(save_dir='lightning_logs/', name='model1')
logger = TensorBoardLogger(save_dir='lightning_logs/', name='model2')

如果您运行指向父目录的tesnsorboard --logdir ./lightning_logs,您应该能够在具有名为valid_acc的键的同一图表中看到这两个指标。

最新更新