tensorboard / tensorboardX 无法记录超过1000个点

问题描述

tensorboard / tensorboardX 记录的数据不是连续的,即使在代码中是连续记录

最小复现代码(tensorboardX)

from tensorboardX import SummaryWriter
writer = SummaryWriter('test')
for i in range(2000):
    writer.add_scalar('t/test_value',scalar_value=i,global_step=i)
print('finished')

运行最小复现代码,可以发现,使用tensorboard命令启动的WEBUI,只截取了1000个值,两个sample之间的间隔并不是连续的。

无论是左侧的webui还是右侧导出的csv表,其step都不是连续的

解决方法

参考stackoverflow page

tensorboardX 下

添加 --samples_per_plugin scalars=999999999参数,将总的采样点数设置成一个非常大的值,全部命令如下(由于我在服务器上运行,还有个--host,忽略就好):

$ tensorboard --host [YOURIP] --logdir test --samples_per_plugin scalars=999999999

tensorboard下

可以找到tensorboard包安装目录,一般在[YOUR PYTHON ENV]/site-packages/tensorflow/tensorboard/backend里。
打开application.py,修改scalar_metadata.PLUGIN_NAME

解决结果

导出的CSV已经可以每个STEP都记录
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容