AttributeError:模块“tensorflow”没有包含keras 2.2.4 tensorflow 1.14的属性“placeholder”

2022-01-18 23:38:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用keras2.2.4时遇到了这个错误AttributeError: module 'tensorflow' has no attribute 'placeholder'(因为它支持tensorflow1.x) 尝试了TensorFlow 1.14和2.0.0,但总是相同的错误

有人能帮我解决这个问题吗

这是完整的日志

AttributeError                            Traceback (most recent call last)

<ipython-input-65-dc4f74e64a0b> in <module>
      7 
      8 
----> 9 inputExperiment = Input(shape=(1,),dtype='int8', name='inputExperiment')
     10 x1 = Embedding(output_dim=4,input_dim=50,input_length=1)(inputExperiment)
     11 x1 = Flatten()(x1)

~\Anaconda3\envs\Workspace\lib\site-packages\keras\engine\input_layer.py in Input(shape, batch_shape, name, dtype, sparse, tensor)

~\Anaconda3\envs\Workspace\lib\site-packages\keras\legacy\interfaces.py in wrapper(*args, **kwargs)

~\Anaconda3\envs\Workspace\lib\site-packages\keras\engine\input_layer.py in __init__(self, input_shape, batch_size, batch_input_shape, dtype, input_tensor, sparse, name)

~\Anaconda3\envs\Workspace\lib\site-packages\keras\backend\tensorflow_backend.py in placeholder(shape, ndim, dtype, sparse, name)

AttributeError: module 'tensorflow' has no attribute 'placeholder'
1条回答
网友
1楼 ·

占位符是用于创建符号图模型的初始张量类对象。(这是标准的Keras模型和旧的Tensorflow模型)。在

如果找不到,可能是您的安装不好,或者您的tensorflow版本是2.0.0(因此默认情况下使用了eager模式-eager模式不支持占位符)。在

要使用Tensorflow 2.0.0,最好使用tensorflow.keras,而不是{}。(但根据马蒂亚斯·瓦尔登内格罗(Matias Valdenegro)的建议,测试Keras 2.3可能是一个想法)

要修复安装,最安全的方法是创建新环境。在

你应该在因特网上搜索如何在Python中创建一个新的“环境”,并在这个环境中安装你需要的版本。这是唯一安全的方法来安装/卸载东西,而不破坏您以前的安装。创建此环境并仅安装所需的版本后,就可以从此环境中运行代码。不幸的是,这些安装问题并不容易解决。在

相关问题