Я пытаюсь объединить все входные данные, но по какой-то причине я всегда получаю эту ошибку: Ошибка типа: объект модуля не вызывается, не могли бы вы помочь мне исправить это?Я попытался заменить слияние на Keras.layers.concatenate, но это не сработало.
def stack_latent_layers(n):
#Stack n bidi LSTMs
return lambda x: stack(x, [lambda : Bidirectional(LSTM(hidden_units,
return_sequences = True))] * n )
def predict_classes():
#Predict to the number of classes
#Named arguments are passed to the keras function
return lambda x: stack(x,
[lambda : TimeDistributed(Dense(output_dim = num_of_classes(),
activation = "softmax"))] +
[lambda : TimeDistributed(Dense(hidden_units,
activation='relu'))] * 3)
word_embedding_layer = emb.get_keras_embedding(
trainable = True,
input_length = sent_maxlen, name='word_embedding_layer')
pos_embedding_layer = Embedding(output_dim = pos_tag_embedding_size,
input_dim = len(SPACY_POS_TAGS),
input_length = sent_maxlen,
name='pos_embedding_layer')
latent_layers = stack_latent_layers(num_of_latent_layers)
dropout = Dropout(0.1)
predict_layer = predict_classes()
## --------> 8] Prepare input features, and indicate how to embed them
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),
]
print('inputs_and_embeddings',inputs_and_embeddings)
## --------> 9] Concat all inputs and run on deep network
output = predict_layer(dropout(latent_layers(merge([embed(inp)
for inp, embed in inputs_and_embeddings],
mode = "concat",
concat_axis = -1
))))