tensorboard报错解决:No dashboards are active for the current data set

版本:tensorboard 2.10.0
问题:文件夹下明明有events文件,但用tensorboard命令却无法显示。
例如:
在这里插入图片描述
原因:有可能是文件路径太长了,导致系统无法读取文件。在win系统中规定,目录的绝对路径不得超过260字符,虽然在win10的1607及以上版本中支持更大路径长度,但并非所有应用都能支持长路径。在上面的例子中,我的数据目录是“D:\xxx\files\syn_1x1_uniform_1_20s\tensorboard_drl\train\rlhf_h32_16_alphap2_gammap92_bs64_memo1e5_rand_start10batch_round1e5\hold_steps\events.out.tfevents.1699542553.autodl-container-744e4495ab-36126ec8.1799.0”,共262字符,可能是我当前tensorboard版本限制或其他原因无法读取。

解决方案:

  1. 把events文件保存在浅层目录中,路径不超过260字符,再重新用tensorboard命令查看
  2. 使用event_accumulator直接从events读取数据,避开tensorboard命令调用过程。以下为简单示例,仅供参考,关键函数为event_accumulator.EventAccumulator。
from tensorboard.backend.event_processing import event_accumulator
import os
current_path = os.path.dirname(os.path.abspath(__file__))  # 当前代码文件所在文件夹的绝对路径
file_path = os.path.join(current_path, '../files/syn_1x1_uniform_1_20s/tensorboard_drl/fix_init10/events.out.tfevents.1689403580.99a6dc21500a.1450.0')  # 数据相对路径
ea = event_accumulator.EventAccumulator(file_path)  # 不限制读取数据点数
ea.Reload()
print(ea.scalars.Keys())
key=ea.scalars.Keys()[0]
val = ea.scalars.Items(key)
print(len(val))
print([(i.step, i.value) for i in val])

参考文献:

  1. Windows路径字符长度限制问题
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

故人西迁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值