如何解决Tensorboard:所有实验都写成一个没有提供标签
我想比较我在创建新的 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 将所有运行显示为一个:
你能说我应该怎么做才能修复它吗?我可以在不重新运行所有实验的情况下完成吗?
解决方法
我在一个文件夹中的事件文件应该在单独的文件夹中,文件夹名称将显示为实验名称。
还在 SummaryWriter
documentation 中找到了重要的注释:
-
comment (string):注释 log_dir 后缀附加到默认值
log_dir
。如果分配了log_dir
,则此参数无效。
您可以在记录新数据点时连接实验名称。类似的东西:
logger.add_scalar('%s Epoch Loss' % experiment_name,loss,epoch)
,
这不是对您问题的直接回答,但您是否尝试过 Aim?它旨在记录、搜索和比较数百个实验。我是一名贡献者,构建它的动机就是这样的问题。
Aim 非常容易上手:
pip install aim
然后在你的训练代码中 - 只需要知道两个函数:
import aim
aim.set_params(hyperparam_dict,name='hparams')
aim.track(metric_value,name='metric_name',epoch=epoch_number)
aim up
下面工具的屏幕截图和一个 demo link to play with。
希望对您有所帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。