我最近正在编写一些用tensorflow 1.0.1编写的代码,我想让它在tenorflow 2上可用。我对seq2seq不是很熟悉。非常感谢。
(attention_keys,
attention_values,
attention_score_fn,
attention_construct_fn) = tf.contrib.seq2seq.prepare_attention(
attention_states=attention_states,
attention_option="bahdanau",
num_units=self.decoder_hidden_units,
)
根据这个Github注释,tf.contrib.seq2seq.prepare_attention()
被重命名为tf.contrib.seq2seq.DynamicAttentionWrapper
。
根据这个Github Tensorflow Commit,DynamicAttentionWrapper
已经被重命名为AttentionWrapper
。
因此,在1.15中,等价于tf.contrib.seq2seq.prepare_attention()
的函数是tf.contrib.seq2seq.AttentionWrapper
。
Tensorflow 2.x中与tf.contrib.seq2seq.AttentionWrapper
等价的函数是tfa.seq2seq.AttentionWrapper
。
有关更多信息,请参阅此Tensorflow文档。
首先安装tensorflow插件使用:
pip install tensorflow-addons
然后将其导入您的程序:
import tensorflow_addons as tfa
使用:
tfa.seq2seq.AttentionWrapper