Частота записи PyTorch TensorBoard - PullRequest
2 голосов
/ 01 апреля 2020

Я пытаюсь записать свои потери в обучении и проверке на тензорную доску с помощью torch (torch.utils.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)

оба дают ровно 1000 баллов при проверке и загрузке CSV, и даже на приборной панели тензорной доски первые точки начинаются с шагов 5 и 18 и увеличиваются так, что общее количество шагов - 1000, а не 2000 и 20 000.

Я не знаю, является ли это поведением по умолчанию для tenorboard или его решением PyTorch, но в любом случае, есть ли способ написать каждый отдельный шаг?

1 Ответ

2 голосов
/ 01 апреля 2020

На самом деле я нашел ответ здесь . Таким образом, SummaryWriter сохраняет в каждую эпоху, но чтобы загрузить все, тензорная доска должна быть запущена с флагом --samples_per_plugin scalars=0. 0 говорит тензорной доске загрузить все точки, а 100 будет означать 100 баллов, например

Подводя итог, я запустил тензорную команду с командой tensorboard --logdir=logs --samples_per_plugin scalars=0

...