因为我为每个小批量调用一次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”参数。