# Это часть моего кода, которая вызывает ошибку во время выполнения. Это происходит, когда я называю x = двунаправленным и добавляю вложение. Может ли кто-нибудь помочь мне с этим?
elmo_model = hub.Module("https://tfhub.dev/google/elmo/2", trainable=True) # For fine-tuning the model
sess.run(tf.compat.v1.global_variables_initializer())
sess.run(tf.compat.v1.tables_initializer())
# Define function to apply elmo embedding model
def ElmoEmbedding(x):
return elmo_model(inputs={
"tokens": tf.squeeze(tf.cast(x, tf.string)),
"sequence_len": tf.constant(batchSize * [maxSentLen])
},
signature="tokens",
as_dict=True)["elmo"]
inputLayer = Input(shape=(maxSentLen,), dtype="string")
embedding = Lambda(ElmoEmbedding, output_shape=(maxSentLen, embeddingDimension))(inputLayer)
Ошибка выполнения возникает при выполнении этой строки.
x = Bidirectional(LSTM(units=nUnits, return_sequences=True, recurrent_dropout=recurrentDropOutRate, dropout=dropOutRate))(embedding)
#
xRNN = Bidirectional(LSTM(units=nUnits, return_sequences=True, recurrent_dropout=recurrentDropOutRate, dropout=dropOutRate))(x)
x = add([x, xRNN])
out = TimeDistributed(Dense(nTags, activation="softmax"))(x)
model = Model(inputLayer, out)
# return model
model = build_model()