events.out.tfevents文件信息提取

深度学习训练数据有时候是记录在log文件中,文件名类型为events.out.tfevents.xxx.king,当然这些文件可以通过tensorbord工具可视化,这里提供一些events.out.tfevents文件信息提取的方法。

(1)events.out.tfevents多个文件可视化

当有多个训练的events.out.tfevents文件,将这些文件的log文件夹放在同一个文件夹中,如下图

这里有两个可视化命令,如果一个不好使可以换下一个

第一个是下面指令,其中path是所有文件夹的上一级文件夹,如上图所示的就是LOGS_TEST文件夹路径,相对路径不好使就绝对路径,--port=6006要是报错,就换报错信息的--port信息。

tensorboard --logdir=path --port=6006

有时候在本地的vscode使用上面的指令报错就用下面的

python -m tensorboard.main --logdir=D:\TEST\logs_test --port=6006 

 然后ctrl并点击下面的网址进入tensorboard可视化页面

 就能观察自己的训练数据

 (2)events.out.tfevents文件信息提取

当需要提取events.out.tfevents文件某个特殊的数值,就需要如下代码

from tensorboard.backend.event_processing import event_accumulator
ea = event_accumulator.EventAccumulator('D:/TEST/logs_test/logs/events.out.tfevents.1702090974.king')
# print(type(ea))   # <class 'tensorboard.backend.event_processing.event_accumulator.EventAccumulator'>
ea.Reload()  #(ea.scalars.Keys()): ['loss/train_loss', 'loss/train_loss_att', 'eval/MAE', 'eval/MSE']  
# print(ea.scalars.Keys())
train_loss = ea.scalars.Items('loss/train_loss')
MAE = ea.scalars.Items('eval/MAE')
MSE = ea.scalars.Items('eval/MSE')
# print(len(train_loss), len(MAE), len(MSE))   # 500 500 500
print(type(train_loss), type(MAE), type(MSE))  # <class 'list'> <class 'list'> <class 'list'>
train_value = []   # 创建空列表存储数值
MAE_value = []
MSE_value = []
for i, j , k in zip(train_loss, MAE, MSE):  
    # print(i.step, i.value)    # 读取每一步的数值
    # print(j.step, j.value)
    # print(k.step, k.value)
    train_value.append(i.value)
    MAE_value.append(j.value)
    MSE_value.append(k.value)
train_min = min(train_value)  
MAE_min  = min(MAE_value)
MSE_min = min(MSE_value)
print(train_min, MAE_min, MSE_min)  # 

 可以从events.out.tfevents文件中提取出其中的相关信息,注意一下文件中包含的items,然后根据item的信息提取就行了,如我的文件中就有四个items,可以只读取所有的信息,也可以找出训练过程中的最优数值

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值