pytorch - 在 Pytorch tensorboard 中绘制多张图
问题描述
我正在训练一个动态神经网络,这意味着每个时期我都会调整架构并获得不同的计算图。我想使用 tensorboard 为每个时期绘制图表,但是当我在每个时期结束时使用 SummaryWriter.add_graph() 时,它只会覆盖前一个。
任何想法如何使用 pytorch + tensorboard 绘制多个图形?这似乎是可以实现的,因为每个图表都有一个“标签”,但我发现没有选项可以更改这个标签来绘制其中的几个。
谢谢, 埃拉德
解决方案
您可以使用“运行”功能,而不是使用“标签”功能。为此,您必须从将摘要存储在不同子目录中的目录中打开 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)
推荐阅读
- c# - 按视图名称 WPF MVVM 返回 ViewModel
- r - 压缩文件:RDS(R 编程语言)与 CSV(Excel)
- javascript - 使用键盘制表键 tabindex 元素未显示
- node.js - dokku 部署后的“欢迎使用 nginx”
- r - 如何对不同的放电站进行主成分分析?
- python - 硒 python 导航
- javascript - CRA + Inversify @inject 模块解析失败:意外字符'@'
- python - 仅包含特定区域的绘图区域(Python)
- c++ - 如何理解第一种类型的pair?
- mysql - MySQL Workbench v8.0.1 中无法使用 RANK、OVER、WINDOW 函数