私は、要約を自動的に生成するためにエンコーダ/デコーダモデルを訓練しようとしています。エンコーダ部はCNNを使用して記事の要約をエンコードします。デコーダ部分は記事のタイトルを生成するRNNである。tensorflow dynamic_rnnモデルを保存して新しいエンコーダ/デコーダモデルのデコーダとして復元する方法はありますか?
のでスケルトンは次のようになります。
encoder_state = CNNEncoder(encoder_inputs)
decoder_outputs, _ = RNNDecoder(encoder_state,decoder_inputs)
しかし、私が最初に話す方法を学ぶためにモデルを教えるためにRNNデコーダを事前に訓練したいと思います。デコーダ部分は次のとおりです。
def RNNDecoder(encoder_state,decoder_inputs):
decoder_inputs_embedded = tf.nn.embedding_lookup(embeddings, decoder_inputs)
#from tensorflow.models.rnn import rnn_cell, seq2seq
cell = rnn.GRUCell(memory_dim)
decoder_outputs, decoder_final_state = tf.nn.dynamic_rnn(
cell, decoder_inputs_embedded,
initial_state=encoder_state,
dtype=tf.float32,scope="plain_decoder1"
)
return decoder_outputs, decoder_final_state
だから私の懸念は別に保存と復元RNNDecoder一部を保存する方法ですか?
RNNデコーダを個別にトレーニングしますか? –
はい、私は別にしたいです。今私はちょうどこの目的を達成するために空の入力をCNNのエンコーダに供給しますが、これはあまり効率的ではないと思います。 –
しかし、エンコーダからデコーダへのコンテキストベクトルを供給する必要はありませんか? –