【问题标题】:Plot several graphs in Pytorch tensorboard在 Pytorch tensorboard 中绘制多张图
【发布时间】:2020-06-02 04:43:17
【问题描述】:

我正在训练一个动态神经网络,这意味着每个时期我都会调整架构并获得不同的计算图。 我想使用 tensorboard 为每个时期绘制图表,但是当我在每个时期结束时使用 SummaryWriter.add_graph() 时,它只会覆盖前一个。

任何想法如何使用 pytorch + tensorboard 绘制多个图形?这似乎是可以实现的,因为每个图表都有一个“标签”,但我发现没有选项可以更改这个标签来绘制其中的几个。

谢谢, 埃拉德

【问题讨论】:

    标签: pytorch tensorboard


    【解决方案1】:

    如果你还想使用SummaryWriter,可以选择使用“add_scalars”方法:

    例子:

    summary.add_scalars(f'loss/check_info', {
        'score': score[iteration],
        'score_nf': score_nf[iteration],
    }, iteration)
    

    【讨论】:

    • 谢谢,但我说的是计算图,带有 tensorboard 的 GUI 图形界面
    【解决方案2】:

    您可以使用“运行”功能,而不是使用“标记”功能。 为此,您必须从将摘要存储在不同子目录中的目录中打开 tensorboard。

    在您的示例中,您可以将第一个时期的摘要保存在目录“tensorboard_log_dir/epoch_1”中,然后将第二个时期的摘要保存在目录“tensorboard_log_dir/”中epoch_2”等

    这样,当使用tensorboard --logdir=tensorboard_log_dir 时,您将能够通过“运行”小部件从一个计算图切换到另一个。

    这是一个可重现的例子:

    import torch
    import torch.nn as nn
    import torch.nn.functional as F
    from torch.utils.tensorboard import SummaryWriter
    
    dummy_input = (torch.zeros(1, 3),)
    
    # Two different architectures (PyTorch)
    class oneLinear(nn.Module):
        def __init__(self):
            super(oneLinear, self).__init__()
            self.l1 = nn.Linear(3, 5)
    
        def forward(self, x):
            x = self.l1(x)
            return x
    
    class twoLinear(nn.Module):
        def __init__(self):
            super(twoLinear, self).__init__()
            self.l1 = nn.Linear(3, 5)
            self.l2 = nn.Linear(5, 5)
    
        def forward(self, x):
            x = self.l1(x)
            x = F.relu(self.l2(x))
            return x
    
    # add graph into 2 distinct subdirectories
    with SummaryWriter('./tensorboard_log_dir/oneLinear') as w:
        w.add_graph(oneLinear(), dummy_input)
    
    with SummaryWriter('./tensorboard_log_dir/twoLinear') as w:
        w.add_graph(twoLinear(), dummy_input)
    

    【讨论】:

      猜你喜欢
      • 2018-08-03
      • 2021-04-03
      • 1970-01-01
      • 2013-01-14
      • 2019-04-19
      • 2015-06-25
      • 2020-12-19
      相关资源
      最近更新 更多