При создании модели, использующей TensorFlow 2.0 Attention, я следовал примеру, приведенному в документации TF. https://www.tensorflow.org/api_docs/python/tf/keras/layers/Attention
Последняя строка в примере -
input_layer = tf.keras.layers.Concatenate()(
[query_encoding, query_value_attention])
Тогда в примере есть комментарий
# Add DNN layers, and create Model.
# ...
Так казалось логичным сделать это
model = tf.keras.Sequential()
model.add(input_layer)
Это вызывает ошибку
TypeError: The added layer must be an instance of class Layer.
Found: Tensor("concatenate/Identity:0", shape=(None, 200), dtype=float32)
ОБНОВЛЕНИЕ (после ответа @ thushv89)
В конце концов, я пытаюсь добавить слой внимания в следующую модель, которая хорошо работает (или преобразовать ее в модель внимания).
model = tf.keras.Sequential()
model.add(layers.Embedding(vocab_size, embedding_nodes, input_length=max_length))
model.add(layers.LSTM(20))
#add attention here?
model.add(layers.Dense(1, activation='sigmoid'))
model.compile(loss='mean_squared_error', metrics=['accuracy'])
Мои данные выглядят так
4912,5059,5079,0
4663,5145,5146,0
4663,5145,5146,0
4840,5117,5040,0
Где первые три столбца являются входными данными, а последний столбец является двоичным, а цель - классификация. Данные были подготовлены аналогично этому примеру с аналогичной целью - двоичной классификацией. https://machinelearningmaster.com/use-word-embedding-layers-deep-learning-keras/