我正在尝试理解如何使用这里显示的tf.keras.layers.Attention:
我正在尝试使用它与编码器解码器seq2seq模型。下面是我的代码:
encoder_inputs = Input(shape=(max_len_text,))
enc_emb = Embedding(x_voc_size, latent_dim,trainable=True)(encoder_inputs)
encoder_lstm=LSTM(latent_dim, return_state=True, return_sequences=True)
encoder_outputs, state_h, state_c= encoder_lstm(enc_emb)
decoder_inputs = Input(shape=(max_len_summary,))
dec_emb_layer = Embedding(y_voc_size, latent_dim,trainable=True)
dec_emb = dec_emb_layer(decoder_inputs)
decoder_lstm = LSTM(latent_dim, return_sequences=True, return_state=True)
decoder_outputs,decoder_fwd_state, decoder_back_state = decoder_lstm(dec_emb,initial_state=[state_h, state_c]) 我的问题是,如何在这个模型中使用keras中的给定关注层?我不能理解他们的文件。
发布于 2020-11-16 15:29:53
如果你使用的是RNN,我不推荐使用上面的类。
在分析RNN代码以更好地理解您的难题时,我遇到的第一行是-“这个类适用于密集或CNN网络,而不适用于tf.keras.layers.Attention网络”。
我建议您编写自己的seq to seq模型,只需不到12行代码即可完成。例如:https://www.tensorflow.org/tutorials/text/nmt_with_attention
为了编写你自己的自定义关注层(基于你是更喜欢巴达诺,梁,拉斐尔,杨等),也许这篇文章概述了一个基本的本质可能会有所帮助:Custom Attention Layer using in Keras
https://stackoverflow.com/questions/62614719
复制相似问题