Путаница с tf.variable_scope в модели seq2seq - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь понять программу для модели seq2seq.Я нашел этот код для декодера:

    with tf.variable_scope("decode"):
    output_layer = tf.layers.Dense(target_vocab_size)
    train_output = decoding_layer_train(encoder_outputs,
                                        encoder_state, 
                                        cells, 
                                        dec_embed_input, 
                                        target_sequence_length, 
                                        max_target_sequence_length, 
                                        output_layer, 
                                        keep_prob)

with tf.variable_scope("decode", reuse=True):
    infer_output = decoding_layer_infer(encoder_outputs,
                                        encoder_state, 
                                        cells, 
                                        dec_embeddings, 
                                        target_vocab_to_int['<GO>'], 
                                        target_vocab_to_int['<EOS>'], 
                                        max_target_sequence_length, 
                                        target_vocab_size, 
                                        output_layer,
                                        batch_size,
                                        keep_prob,
                                        target_sequence_length)

Почему мы используем один и тот же «декодер» для выходных данных и выводов.Я предполагаю, что аргумент reuse=True поможет в использовании весов, которые мы получили от train in infer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...