TensorFlow,“'模块'对象没有属性'占位符'”
machine-learning
python
tensorflow
26
0

我一直在尝试使用tensorflow两天,现在在python2.7和3.4中一遍又一遍地安装和重新安装它。无论我做什么,尝试使用tensorflow.placeholder()时都会收到此错误消息

这是非常简单的代码:

tf_in = tf.placeholder("float", [None, A]) # Features

无论我做什么,我总是可以追溯到:

Traceback (most recent call last):
  File "/home/willim/PycharmProjects/tensorflow/tensorflow.py", line 2, in <module>
    import tensorflow as tf
  File "/home/willim/PycharmProjects/tensorflow/tensorflow.py", line 53, in <module>
    tf_in = tf.placeholder("float", [None, A]) # Features
AttributeError: 'module' object has no attribute 'placeholder'

有人知道我该如何解决吗?

参考资料:
Stack Overflow
收藏
评论
共 6 个回答
高赞 时间 活跃

如果在升级到TensorFlow 2.0后出现此错误,您仍然可以通过以下方式使用1.X API:

import tensorflow as tf

通过

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
收藏
评论

我也遇到同样的错误。可能是由于tensorflow的版本。安装tensorflow 1.4.0后,我从错误中得到了缓解。

pip install tensorflow==1.4.0
收藏
评论

这件事也发生在我身上。我有tensorflow,并且运行良好,但是当我在之前的tensorflow旁边安装tensorflow-gpu时,出现了此错误,然后我执行了以下3个步骤,它开始正常工作:

  1. 我从Anaconda中删除了tensorflow-gpu,tensorflow,tensorflow-base软件包。使用。

conda remove tensorflow-gpu tensorflow tensorflow-base

  1. 重新安装tensorflow。使用

conda install tensorflow

收藏
评论

似乎.placeholder(),.reset_default_graph()和其他版本在版本2中已删除。我使用Docker映像遇到此问题: tensorflow/tensorflow:latest-gpu-py3 ,它会自动提取最新版本。我在1.13.1中工作,并自动“升级到2”并开始收到错误消息。我通过更具体的图像来解决此问题: tensorflow/tensorflow:1.13.1-gpu-py3

可以在这里找到更多信息: https : //www.tensorflow.org/alpha/guide/effective_tf2

收藏
评论

导入旧版本的tensorflow而不是新版本

[ https://inneka.com/ml/tf/tensorflow-module-object-has-no-attribute-placeholder/][1]

将tensorflow.compat.v1导入为tf tf.disable_v2_behavior()

收藏
评论

解决方案:请勿将“ tensorflow”用作文件名。

请注意,您使用tensorflow.py作为文件名。我猜你写的代码是这样的:

import tensorflow as tf

然后,您实际上是在当前工作目录下导入脚本文件“ tensorflow.py”,而不是从Google导入“真实” tensorflow模块。

导入时按以下顺序搜索模块:

  1. 包含输入脚本的目录(如果未指定文件,则为当前目录)。

  2. PYTHONPATH(目录名称列表,语法与shell变量PATH相同)。

  3. 取决于安装的默认值。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题