【问题标题】:Pytorch Lightning Tensorboard Logger Across Multiple Models跨多个模型的 Pytorch Lightning Tensorboard 记录器
【发布时间】:2021-10-12 21:33:58
【问题描述】:

相对于手动跟踪指标,我对 Lightning 和 Loggers 比较陌生。我正在尝试训练两个不同的模型,并将它们的准确性和损失绘制在 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/

此时我希望看到的是在同一张图表上一起绘制的那些记录的指标,我们将不胜感激。我花了一些时间试图玩弄这个,但我对此有点不知所措,谢谢!

【问题讨论】:

    标签: tensorboard pytorch-lightning


    【解决方案1】:

    用于记录特定指标的确切图表取决于您在 .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

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 2021-04-06
      • 2021-10-18
      • 2020-11-23
      • 2021-06-30
      • 2022-01-07
      • 2021-04-10
      • 2021-09-22
      • 2021-08-27
      相关资源
      最近更新 更多