我想通过脚本提取标量,因为我进行了大量的测试。
基于此answer,我可以获得一个电路板的所有tf摘要。我什至可以为损失分开标签:
<class 'tensorflow.core.framework.summary_pb2.Value'>
tag: "training_loss"
simple_value: 0.0590251199901104
但是似乎每个损失值都保存为summary_pb2.Value
上的值。我可以提取每个损失单个值,但找不到有关这些单个值的步数或时间的信息,因此无法对其进行排序(它们也具有相同的标签)。不幸的是,这没有得到很好的记录,有人知道我如何获得此信息?
答案 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"))
希望这会有所帮助!