【问题标题】:Eager vs graph mode with Keras and TF2.0使用 Keras 和 TF2.0 的 Eager vs 图形模式
【发布时间】:2020-10-07 09:06:28
【问题描述】:

我正在以图形模式编译一个之前训练过的模型:

inference_model = model_from_json(json.dumps(inference_model_dict))
inference_model.set_weights(original_model.get_weights())
inference_model.compile('adam', 'binary_crossentropy', run_eagerly=False)

使用它进行预测时:

predictions = inference_model.predict(gen)

得到以下错误:

ValueError:当Model 实例是在启用渴望模式的情况下构建时,不支持在图形模式下调用Model.predict。请在图形模式下构建您的Model 实例,或在启用渴望模式的情况下调用Model.predict

我试图禁用 TF2.0 默认设置

tf.compat.v1.disable_eager_execution()
  • 这也无济于事。

通读 Keras 文档,找不到如何遵循此建议:“call Model.predict with eager mode enabled”

最初,这个模型是在 Eager 模式下训练的。这有关系吗?这不能以某种方式覆盖吗?

【问题讨论】:

    标签: keras tensorflow2.x


    【解决方案1】:

    通过重新排列会话相关代码解决了问题。

    【讨论】:

    • 我也有同样的问题。 “重新安排与会话相关的代码”是什么意思?您是否在 TF 2 中的 Graph 和 Session 中运行代码?
    【解决方案2】:

    我相信我对会话的定义方式(继承自 TF1.15 代码)存在一些问题。简化后,问题就消失了。

    【讨论】:

      【解决方案3】:

      我已经使用tf.compat.v1.disable_eager_execution() 解决了我的问题

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-06
        • 1970-01-01
        • 1970-01-01
        • 2020-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多