Tensorboard通过脚本提取标量

时间:2018-10-11 09:00:18

标签: tensorflow tensorboard

我想通过脚本提取标量,因为我进行了大量的测试。

基于此answer,我可以获得一个电路板的所有tf摘要。我什至可以为损失分开标签:

<class 'tensorflow.core.framework.summary_pb2.Value'>
tag: "training_loss"
simple_value: 0.0590251199901104

但是似乎每个损失值都保存为summary_pb2.Value上的值。我可以提取每个损失单个值,但找不到有关这些单个值的步数或时间的信息,因此无法对其进行排序(它们也具有相同的标签)。不幸的是,这没有得到很好的记录,有人知道我如何获得此信息?

1 个答案:

答案 0 :(得分:1)

我会使用EventAccumulator: 您可以将模型目录传递给_load_run()函数。

from tensorboard.backend.event_processing import event_accumulator
import numpy as np

def _load_run(path):
  event_acc = event_accumulator.EventAccumulator(path)
  event_acc.Reload()
  data = {}

  for tag in sorted(event_acc.Tags()["scalars"]):
    x, y = [], []

    for scalar_event in event_acc.Scalars(tag):
      x.append(scalar_event.step)
      y.append(scalar_event.value)

    data[tag] = (np.asarray(x), np.asarray(y))
  return data

print(_load_run("/models/vae/run_1"))

希望这会有所帮助!