我三周前能够运行我的Python程序,但现在每次尝试运行它时,我都会收到以下错误信息:
AttributeError: module 'tensorflow' has no attribute 'placeholder'
我已经安装了tensorflow(版本为“2.0.0-alpha0”)。我看过几篇与此问题相关的帖子。它们都说我应该卸载TensorFlow并重新安装。问题是我在一个集群计算机上运行,我没有sudo权限。任何想法吗?我三周前能够运行我的Python程序,但现在每次尝试运行它时,我都会收到以下错误信息:
AttributeError: module 'tensorflow' has no attribute 'placeholder'
我已经安装了tensorflow(版本为“2.0.0-alpha0”)。我看过几篇与此问题相关的帖子。它们都说我应该卸载TensorFlow并重新安装。问题是我在一个集群计算机上运行,我没有sudo权限。任何想法吗?在包含TensorFlow兼容v1库后:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()`
使用以下v1语法:
X = tf.compat.v1.placeholder(dtype="float",shape=[None, n_H0, n_W0, n_C0])
Y = tf.compat.v1.placeholder(dtype="float",shape=[None, n_y])
除了@Vishnuvardhan Janapati的回答,您可以将文件夹(“*TREE”)和/或文件更新到TensorFlow的第2版。 升级工具tf_upgrade_v2
已自动包含在TensorFlow 1.13及更高版本中。
tf_upgrade_v2 [-h] [--infile INPUT_FILE] [--outfile OUTPUT_FILE]
[--intree INPUT_TREE] [--outtree OUTPUT_TREE]
[--copyotherfiles COPY_OTHER_FILES] [--inplace]
[--reportfile REPORT_FILENAME] [--mode {DEFAULT,SAFETY}]
[--print_all]
下面是说明如何解决“占位符”错误的图示:
注意:这个修复方法也可以解决类似于“模块'tensorflow'没有属性'xxxxx'”(不仅仅是“占位符”)的报错。
更改库对我有用
#libraries
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
如果这不起作用,也许你需要重新安装TensorFlow。
希望它有所帮助。
调用 disable_v2_behavior()
函数并非必要操作。
只需:
import tensorflow as tf
tf.compat.v1.placeholder()