【发布时间】:2021-03-10 17:50:58
【问题描述】:
我想将此模型作为使用 Keras API 的功能模型,但不确定如何。我希望我的模型采用model = tf.keras.model.Model(....) 的形式,所以我可以通过调用model 来评估或导出模型。但我不知道如何使用模型中的注意力层来做到这一点。 Keras attention layer documentation 就停在这一步,留给用户自己解决。
仅供参考,我的模型使用 IMDB 评论进行情绪分析。
query_layer = tf.keras.layers.Conv1D(filters=100, kernel_size=4, padding='same')
value_layer = tf.keras.layers.Conv1D(filters=100, kernel_size=4, padding='same')
attention = tf.keras.layers.Attention()
concat = tf.keras.layers.Concatenate()
cells = [tf.keras.layers.LSTMCell(256), tf.keras.layers.LSTMCell(64)]
rnn = tf.keras.layers.RNN(cells)
output_layer = tf.keras.layers.Dense(1)
for batch in ds['train'].batch(32):
text = batch['text']
embeddings = embedding_layer(vectorize_layer(text))
query = query_layer(embeddings)
value = value_layer(embeddings)
query_value_attention = attention([query, value])
attended_values = concat([query, query_value_attention])
logits = output_layer(rnn(attended_values))
loss = binary_crossentropy(tf.expand_dims(batch['label'], -1),
logits, from_logits=True)
【问题讨论】:
-
抱歉,我浏览了一下,但我认为它没有帮助我解决我的问题
标签: python tensorflow keras deep-learning autoencoder