Тензорная доска: все эксперименты были записаны как один (без предоставленных тегов)

#pytorch #tensorboard #torch

#pytorch #tensorboard #torch

Вопрос:

Я хотел сравнить несколько запусков, которые я выполнял в цикле, создавая новые экземпляры SummaryWriter, подобные этому:

 for experiment_name in experiments:
    logger = SummaryWriter(self._log_path, comment=experiment_name)
    ...
    for epoch in range(5):
        ...
        logger.add_scalar("Epoch Loss", loss, epoch)
        ...
    logger.close()
 

В пути к журналу я получил несколько таких файлов:

 events.out.tfevents.1609675249.nlp-vm.13735.0
events.out.tfevents.1609679736.nlp-vm.13735.1
events.out.tfevents.1609687200.nlp-vm.13735.2
events.out.tfevents.1609691662.nlp-vm.13735.3
events.out.tfevents.1609699158.nlp-vm.13735.4
events.out.tfevents.1609703743.nlp-vm.13735.5
events.out.tfevents.1609711308.nlp-vm.13735.6
events.out.tfevents.1609716054.nlp-vm.13735.7
 

Но Tensorboard отображает все прогоны как один:

  1. пример
  2. пример

Не могли бы вы сказать, что я должен сделать, чтобы исправить это, и могу ли я сделать это без повторного запуска всех экспериментов?

Ответ №1:

Файлы событий, которые у меня есть в одной папке, должны быть отдельными, а имя папки будет отображаться как имя эксперимента.

Также найдено важное примечание в SummaryWriter документации:

  • комментарий (строка): суффикс log_dir комментария, добавленный к значению по умолчанию log_dir . Если log_dir присваивается, этот аргумент не имеет никакого эффекта.

Ответ №2:

Вы можете объединить имя эксперимента при регистрации новой точки данных. Что-то вроде:

 logger.add_scalar('%s Epoch Loss' % experiment_name, loss, epoch)
 

Комментарии:

1. Могло бы сработать, но таким образом я не смог бы сравнивать прогоны. Я нашел решение, напишу его в новом комментарии)