【DL-TensorFlow遇错】TensorFlow中遇错合集

TensorFlow中遇错合集

  • 一、`AttributeError: module 'tensorflow' has no attribute 'placeholder'`
  • 二、`RuntimeError: tf.placeholder() is not compatible with eager execution.`

一、AttributeError: module 'tensorflow' has no attribute 'placeholder'

错误原因

  • tensorflow版本问题:当前tensorflow版本为2.X,而tensorflow 2.0版本去掉了placeholder。tensorflow 1.*版本才有placeholder。

解决方案

  • “向后兼容”。这种做法可以在新版本的TensorFlow中仍然使用旧的API,确保旧代码的兼容性。

具体实现

  • 修改import tensorflow as tfimport tensorflow._api.v2.compat.v1 as tf

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

错误原因

  • tf.placeholder()意味着被提供给会话,该会话在运行时从feed dict接收值并执行所需的操作。(也就是默认为急切运行,我们爆出这个错误说明不需要急切运行

解决方案
方式一:

  • tf.placeholder()被调用前添加tf.compat.v1.disable_eager_execution()

方式二:

import tensorflow._api.v2.compat.v1 as tf
tf.compat.v1.disable_eager_execution()

你可能感兴趣的:(深度学习,tensorflow,人工智能,python)