如何合并/组合或附加Tensorboard文件?

时间:2017-08-13 06:39:16

标签: machine-learning tensorflow neural-network keras tensorboard

如果我有多个Tensorboard文件,它们如何组合成一个Tensorboard文件?

在keras中说,对于单个模型,多次调用以下model.fit(),例如在典型的GAN实现中:

for i in range(num_epochs):
    model.fit(epochs=1, callbacks=Tensorboard())

每次都会产生一个新的Tensorboard文件,这是没用的。不确定是否有方法可以附加Tensorboard,或者不会为每个回调调用生成唯一的带时间戳的文件。

3 个答案:

答案 0 :(得分:1)

在tensorboard 2.3中似乎可以访问tensorboard文件的记录数据并将其加载到pandas数据框中。本教程概述了该方法:

https://www.tensorflow.org/tensorboard/dataframe_api

在撰写本文时,我找不到tensorboard 2.3版,但本教程所依赖的模块-tensorboard.data.experimental.ExperimentFromDev()-似乎存在于tensorboard 2.2中:https://github.com/tensorflow/tensorboard/blob/master/tensorboard/data/experimental/experiment_from_dev.py#L71

您可以将现有的数据从多个张量板文件加载到数据框中,然后以所需的方式组合这些数据框,以将组合的数据框写入新的张量板文件中。我曾考虑过这种方法来解决针对不同训练运行具有多个tensorboard文件的问题,但尚未在我的项目中尝试过。

答案 1 :(得分:0)

如果有人偶然发现了这个问题,则可以使用model.fit()

中定义的 initial_epoch

在for循环中,每次调用model.fit()时都可以更改initial_epoch。

答案 2 :(得分:0)

initial_epoch 文档的新链接:https://keras.io/api/models/model_training_apis/

另请注意,epochs 也需要更改。

for i in range(num_epochs):
    model.fit(epochs=i, initial_epoch=i-1, callbacks=Tensorboard())

因为

<块引用>

注意,结合initial_epoch,epochs 被理解为“final epoch”。模型不是针对 epoch 给出的迭代次数进行训练,而是直到达到索引 epoch 的 epoch。