当前位置: 代码迷 >> 综合 >> RuntimeError: tf.placeholder() is not compatible with eager execution.(亲测有效)
  详细解决方案

RuntimeError: tf.placeholder() is not compatible with eager execution.(亲测有效)

热度:71   发布时间:2023-12-17 15:07:02.0

今天运行Tensorflow时,出现以下错误:

RuntimeError: tf.placeholder() is not compatible with eager execution.

原因是下面这个语句:

x = tf.compat.v1.placeholder(tf.float32, [None, 784])

这个语句需要在session前定义,在session中执行,但在使用T的ensorFlow 2.0及以上版本中,默认情况下开启了紧急执行模式,即定义即执行。

所以,我们需要在上面的语句前定义一下它不着急执行,有两种解决方案:

方案一:

添加 tf.compat.v1.disable_eager_execution(),即:

tf.compat.v1.disable_eager_execution()
x = tf.compat.v1.placeholder(tf.float32, [None, 784])

方案一参考处

方案二:

添加tf.compat.v1.disable_v2_behavior(),即:

tf.compat.v1.disable_v2_behavior()
x = tf.compat.v1.placeholder(tf.float32, [None, 784])

方案二参考处

  相关解决方案