【问题标题】:PyTorch TensorBoard write frequencyPyTorch TensorBoard 写入频率
【发布时间】:2020-07-12 16:40:41
【问题描述】:

我正在尝试使用 Torch (torch.utils.tensorboard) 将我的训练和验证损失写入 tensorboard,无论实际迭代次数是多少,它看起来最多只能写入 1000 个数据点。比如运行如下代码,

writer1 = SummaryWriter('runs/1')
writer2 = SummaryWriter('runs/2')

for i in range(2000):
    writer1.add_scalar('tag', 1, i)

for i in range(20000):
    writer2.add_scalar('tag', 1, i)

在检查和下载 csv 时,两者都会产生 1000 个点,即使在 tensorboard 仪表板上,第一个点也从第 5 步和第 18 步开始并递增,这样总步数为 1000,而不是 2,000 和 20,000。

我不知道这是 tensorboard 的默认行为还是它的 PyTorch 的决定,但无论哪种方式,有没有办法编写每一步?

【问题讨论】:

  • 您能否详细说明您的设置?您上面显示的代码对我有用。
  • @UmangGupta 你能用我的示例代码获得整个 2000 和 20000 点吗?对我来说,当我放大时,我可以看到第一个点不是在第 0 步,而是在第 5 步。您是否也可以尝试下载 csv 并查看您获得了多少行数据?无论实际有多少次迭代,我都会得到包括标题在内的 1001
  • 啊有趣。你是对的。直到现在我才意识到这个问题

标签: python tensorflow pytorch tensorboard


【解决方案1】:

其实我找到了答案here。因此,SummaryWriter 在每个 epoch 都会保存,但要加载所有内容,tensorboard 必须以标志 --samples_per_plugin scalars=0 启动。 0 告诉 tensorboard 加载所有点,而 100 表示总共 100 个点

总结一下,我用命令tensorboard --logdir=logs --samples_per_plugin scalars=0启动tensorboard

【讨论】:

  • @SzymonMaszke 感谢您提醒我,但显然我必须等待一天才能接受我自己的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-22
  • 2020-05-18
  • 2022-10-12
  • 2018-10-12
  • 2021-04-25
  • 2020-05-18
  • 1970-01-01
相关资源
最近更新 更多