繁体   English   中英

使用 Keras 和 fit_generator 的 TensorBoard 分布和直方图

[英]TensorBoard Distributions and Histograms with Keras and fit_generator

我正在使用 Keras 使用 fit_generator 函数训练 CNN。

TensorBoard 在此设置中不显示直方图和分布似乎是一个已知问题

有没有人想出办法让它工作?

没有简单的方法可以仅用一行代码插入它,您必须手动编写摘要。

好消息是这并不难,你可以使用Keras 中的 TensorBoard 回调代码作为参考。 (还有一个为 TensorFlow 2.x 准备的版本 2。

基本上,编写一个函数,例如write_summaries(model)并在您想编写摘要时调用它(例如,在您的fit_generator()

在你的write_summaries(model)函数中,使用tf.summaryhistogram_summary和其他汇总函数来记录你想在张量板上看到的数据。

如果您不知道如何查看官方教程:以及带有摘要MNIST 的绝佳示例。

我相信 bartgras 的解释在更新版本的 Keras 中被取代(我使用的是 Keras 2.2.2)。 为了在 Tensorboard 中获取直方图,我所做的就是以下内容(其中bg是一个数据gb.training_batch()类,它为gb.training_batch()公开了一个生成器;但是gb.validation_batch()不是一个生成器):

NAME = "Foo_{}".format(datetime.now().isoformat(timespec='seconds')).replace(':', '-')

tensorboard = keras.callbacks.TensorBoard(
    log_dir="logs/{}".format(NAME),
    histogram_freq=1,
    write_images=True)

callbacks = [
    tensorboard
]

history = model.fit_generator(
    bg.training_batch(),
    validation_data=bg.validation_batch(),
    epochs=EPOCHS,
    steps_per_epoch=bg.steps_per_epoch,
    validation_steps=bg.validation_steps,
    verbose=1,
    shuffle=False,
    callbacks=callbacks)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM