在Keras中进行手动批处理时如何使用Tensorboard

时间:2019-01-25 15:10:23

标签: keras tensorboard

因为我为每个小批量调用一次model.fit(),所以我最终获得了数百个Tensorboard事件文件。我希望有某种方法可以(a)控制信息输出的速率,并且(b)将所有信息都存储在单个复合事件文件中,就像使用直接Tensorflow时可以得到的一样。

在尝试进行强化学习时,我遇到了同样的问题。这次,由于输入数据的大小和复杂性,需要手动批处理。 (9 GB的输入数据包含不连续性,要求我跳过某些记录,以避免对一半序列和另一序列进行训练。)

我已经尝试过了:

self.tensorboard = keras.callbacks.TensorBoard(log_dir=f"tensorboard/{int(time())}",
                                     write_graph=False,
                                     update_freq=10*BATCH_SIZE)
self.tensorboard.set_model(model)

[...]
    self.model.fit(
            x = iBatch, 
            y = iLabels,
            epochs=1, 
            batch_size=len(iLabels), 
            verbose=0
            callbacks=[self.tensorboard])

这将导致数百个微小的事件文件。除其他外,回调似乎忽略了“ update_freq”参数。

0 个答案:

没有答案