在 Keras 上使用回调 Tensorboard 时出现 AttributeError:“模型”对象没有属性“run_eagerly”

Posted

技术标签:

【中文标题】在 Keras 上使用回调 Tensorboard 时出现 AttributeError:“模型”对象没有属性“run_eagerly”【英文标题】:AttributeError when using callback Tensorboard on Keras: 'Model' object has no attribute 'run_eagerly' 【发布时间】:2019-12-04 19:36:18 【问题描述】:

我使用 Keras 的函数式 API 构建了一个模型,当我将 tensorboard 实例添加到我的 model.fit() 函数中的回调时,它会抛出错误:"AttributeError: 'Model' object has no attribute 'run_eagerly'"

Model 类确实没有 run_eagerly 属性,但是在 Keras 文档中,它说它可以作为参数传递给 model.compile() 函数。这将返回

"ValueError: ('Some keys in session_kwargs are not supported at this time: %s', dict_keys(['run_eagerly']))"

这是否意味着我没有合适的 Tensorflow/Keras 版本?

张量流:1.14.0

Keras:2.2.4-tf

model = Model(inputs=[input_ant1, input_ant2], outputs=main_output)

tensorboard = TensorBoard(log_dir='.logs/'.format(time()))

[...]

model.fit([input1, input2],[labels], epochs=10, callbacks=[tensorboard])

【问题讨论】:

这里有类似的问题。 同样的问题。以 TF 1.x 作为后端的 Keras 2.2.4 是否不支持此功能? 【参考方案1】:

我遇到了同样的错误:AttributeError: 'Model' object has no attribute 'run_eagerly'

经过两次小改动后,我的张量板现在正在运行。

    确保按如下方式导入 tensorboard: from keras.callbacks import TensorBoard

    像这样更改日志目录: tensorboard = TensorBoard(log_dir="logs")

【讨论】:

【参考方案2】:

我在使用时收到相同的错误消息: from tensorflow.keras.callbacks import ModelCheckpoint 我通过导入相同的内容来修复它: from keras.callbacks.callbacks import ModelCheckpoint

【讨论】:

以上是关于在 Keras 上使用回调 Tensorboard 时出现 AttributeError:“模型”对象没有属性“run_eagerly”的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Keras 的 Tensorboard 回调?

在 Tensorboard 上显示图像(通过 Keras)

使用 Keras,当我将 Tensorboard 回调添加到我的神经网络时,准确性会降低。我该如何解决?

梯度分布上的 TensorBoard 常数尖峰

使用 keras 在 tensorboard 中显示分类图像

将 TensorBoard 与 Keras Tuner 一起使用