【发布时间】:2019-02-11 17:26:21
【问题描述】:
出于某种原因,我正在尝试创建我的 Keras 模型,但它不起作用。我收到此错误 ValueError: Input tensors to a Model must come from keras.layers.Input。已收到:(缺少上一层元数据)。 [最后一行创建模型时出错]
我尝试分离输入,但没有成功,请帮忙?这是我的代码的 sn-p
word_embedding_layer = emb.get_keras_embedding(trainable = True,
input_length = 20,
name='word_embedding_layer')
pos_embedding_layer = Embedding(output_dim = 5,
input_dim = 56,
input_length = 20,
name='pos_embedding_layer')
inputs_and_embeddings = [(Input(shape = (sent_maxlen,),
dtype="int32",
name = "word_inputs"),
word_embedding_layer),
(Input(shape = (sent_maxlen,),
dtype="int32",
name = "predicate_inputs"),
word_embedding_layer),
(Input(shape = (sent_maxlen,),
dtype="int32",
name = "postags_inputs"),
pos_embedding_layer),
]
## --------> 9] Concat all inputs and run on deep network
## Concat all inputs and run on deep network
outputI = predict_layer(dropout(latent_layers(keras.layers.concatenate([embed(inp)
for inp, embed in inputs_and_embeddings],
axis = -1))))
## --------> 10]Build model
model = Model( map(itemgetter(0), inputs_and_embeddings),[outputI])
【问题讨论】:
-
我建议使用这个来创建你的模型:keras.io/getting-started/functional-api-guide。您的格式很难阅读。虽然,所有错误意味着您在定义模型时没有将
Input分配为模型的输入。 -
确实,为什么要把所有事情都复杂化呢?请注意,“嵌入”不是“输入”。您不能将嵌入传递给
Model,您必须传递输入。
标签: python tensorflow keras nlp