【问题标题】:Why TensorBoard summary is not updating?为什么 TensorBoard 总结没有更新?
【发布时间】:2019-09-22 15:33:31
【问题描述】:

我使用带有 pytorch1.1 的 tensorboard 来记录损失值。

我在每个 for 循环体中都使用writer.add_scalar("loss", loss.item(), global_step)

但是,在训练处理过程中,绘图图不会更新。

每次想看最新的loss,都得重启tensorboard server。

代码在这里

import torch
import torch.nn as nn
import torch.nn.functional as F
import torchvision
from torch.utils.tensorboard import SummaryWriter
from torchvision import datasets, transforms

# Writer will output to ./runs/ directory by default
writer = SummaryWriter()

transform = transforms.Compose(
    [transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))]
)
trainset = datasets.MNIST("mnist_train", train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)
model = torchvision.models.resnet50(False)
# Have ResNet model take in grayscale rather than RGB
model.conv1 = nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3, bias=False)
model.fc = nn.Linear(2048, 10, True)

criterion = nn.CrossEntropyLoss()

epochs = 100

opt = torch.optim.Adam(model.parameters())

niter = 0

for epoch in range(epochs):
    for step, (x, y) in enumerate(trainloader):
        yp = model(x)
        loss = criterion(yp, y)
        opt.zero_grad()
        loss.backward()
        opt.step()
        writer.add_scalar("loss", loss.item(), niter)
        niter += 1
        print(loss.item())

grid = torchvision.utils.make_grid(images)
writer.add_image("images", grid, 0)
writer.add_graph(model, images)
writer.close()

训练还在继续,全局步数已经是3594了,但是tensorboard还是显示在1900左右。

【问题讨论】:

    标签: tensorflow pytorch tensorboard


    【解决方案1】:

    在日志记录端内部完成了缓存。要查看这是否是问题所在,请使用

    创建您的 SummaryWriter
    writer = SummaryWriter(flush_secs=1)
    

    看看事情是否会立即更新。如果是这样,请根据您的情况随意调整 flush_secs(默认为 120)。不过,根据您的描述,这可能来自 TensorBoard 可视化方面。如果是这样,它必须与轮询间隔有关。

    安装 TensorFlow(强制 TensorBoard 使用不同的文件系统后端)是否会改变这种行为?

    【讨论】:

    • 感谢您的帮助。我通过将 tensorboard 从 1.14.0 降级到 1.13.1 解决了这个问题。
    【解决方案2】:

    同样对于那些单次运行有多个事件日志文件的人,您需要使用--reload_multifile True 启动您的张量板

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-12
      • 2021-08-04
      相关资源
      最近更新 更多