tf.contrib.legacy_seq2seq.embedding_attention_decoder
RNN decoder with embedding and attention and a pure-decoding option.
tf.contrib.legacy_seq2seq.embedding_attention_decoder(
decoder_inputs, initial_state, attention_states, cell, num_symbols,
embedding_size, num_heads=1, output_size=None, output_projection=None,
feed_previous=False, update_embedding_for_previous=True, dtype=None, scope=None,
initial_state_attention=False
)
Args |
decoder_inputs
|
A list of 1D batch-sized int32 Tensors (decoder inputs).
|
initial_state
|
2D Tensor [batch_size x cell.state_size].
|
attention_states
|
3D Tensor [batch_size x attn_length x attn_size].
|
cell
|
tf.compat.v1.nn.rnn_cell.RNNCell defining the cell function.
|
num_symbols
|
Integer, how many symbols come into the embedding.
|
embedding_size
|
Integer, the length of the embedding vector for each symbol.
|
num_heads
|
Number of attention heads that read from attention_states.
|
output_size
|
Size of the output vectors; if None, use output_size.
|
output_projection
|
None or a pair (W, B) of output projection weights and
biases; W has shape [output_size x num_symbols] and B has shape
[num_symbols]; if provided and feed_previous=True, each fed previous
output will first be multiplied by W and added B.
|
feed_previous
|
Boolean; if True, only the first of decoder_inputs will be
used (the "GO" symbol), and all other decoder inputs will be generated by:
next = embedding_lookup(embedding, argmax(previous_output)), In effect,
this implements a greedy decoder. It can also be used
during training to emulate http://arxiv.org/abs/1506.03099 If False,
decoder_inputs are used as given (the standard decoder case).
|
update_embedding_for_previous
|
Boolean; if False and feed_previous=True,
only the embedding for the first symbol of decoder_inputs (the "GO"
symbol) will be updated by back propagation. Embeddings for the symbols
generated from the decoder itself remain unchanged. This parameter has no
effect if feed_previous=False.
|
dtype
|
The dtype to use for the RNN initial states (default: tf.float32).
|
scope
|
VariableScope for the created subgraph; defaults to
"embedding_attention_decoder".
|
initial_state_attention
|
If False (default), initial attentions are zero. If
True, initialize the attentions from the initial state and attention
states -- useful when we wish to resume decoding from a previously stored
decoder state and attention states.
|
Returns |
A tuple of the form (outputs, state), where:
outputs: A list of the same length as decoder_inputs of 2D Tensors with
shape [batch_size x output_size] containing the generated outputs.
state: The state of each decoder cell at the final time-step.
It is a 2D Tensor of shape [batch_size x cell.state_size].
|
Raises |
ValueError
|
When output_projection has the wrong shape.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-10-01 UTC.
[null,null,["Last updated 2020-10-01 UTC."],[],[]]