张量对象没有属性keras_shape

时间:2019-02-10 07:27:16

标签: tensorflow keras

在使用以下方法构建模型时

model = Model(inputs=[input_text], outputs=pred)

遇到错误:

  

AttributeError:“张量”对象没有属性“ _keras_shape”

我尝试过的完整笔记本可以在这里找到... https://github.com/shantanuo/pandas_examples/blob/master/tensorflow/tf_learn.ipynb

这里同样是纯文本代码... https://gist.github.com/shantanuo/4e35baba144ee658e4dd4d1f87e19f3a

即使我使用的博客代码完全相同,我也想知道为什么会出错:

https://towardsdatascience.com/transfer-learning-using-elmo-embedding-c4a7e415103c

预期的输出-像这样:

  

模型摘要为:   _________________________________________________________________图层(类型)输出形状参数#
  ================================================== ============== input_2(InputLayer)(无,1)0
  _________________________________________________________________ lambda_2(Lambda)(无,1024)0
  _________________________________________________________________ density_3(密集)(无,256)262400
  _________________________________________________________________ density_4(密集)(无,1)257

我尝试升级tensorflow和keras,但收到相同的错误:

!pip install --upgrade tensorflow

2 个答案:

答案 0 :(得分:3)

如果您更改此设置:

from keras.models import Model

对此:

from tensorflow.keras.models import Model

您的代码会没事的。

*或*

更改此:

from tensorflow.python.keras.layers import Input

对此:

from keras.layers import Input

答案 1 :(得分:2)

当我使用不同的tensorflow版本更改计算机时,我遇到了类似的问题。

为我解决的问题是使用.shape而不是._keras_shape

根据tensorflow / keras的版本和/或导入方式(from kerasfrom tensorflow.kerasfrom tensorflow.python.keras),属性名称可能会有所不同。