Tensorboard 通过脚本提取标量

Tensorboard extract scalar by a script

我想通过脚本提取我的标量,因为我有很多测试运行。

基于此我可以得到一个板的所有tf摘要。我什至可以将损失的标签分开:

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

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

我会使用 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"))

希望对您有所帮助!