neuralmonkey.decoders.decoder module¶
-
class
neuralmonkey.decoders.decoder.Decoder(encoders: List[neuralmonkey.model.stateful.Stateful], vocabulary: neuralmonkey.vocabulary.Vocabulary, data_id: str, name: str, max_output_len: int, dropout_keep_prob: float = 1.0, embedding_size: int = None, embeddings_source: neuralmonkey.model.sequence.EmbeddedSequence = None, tie_embeddings: bool = False, label_smoothing: float = None, rnn_size: int = None, output_projection: Union[Tuple[Callable[[tensorflow.python.framework.ops.Tensor, tensorflow.python.framework.ops.Tensor, List[tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor], int], Callable[[tensorflow.python.framework.ops.Tensor, tensorflow.python.framework.ops.Tensor, List[tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor]] = None, encoder_projection: Callable[[tensorflow.python.framework.ops.Tensor, int, List[neuralmonkey.model.stateful.Stateful]], tensorflow.python.framework.ops.Tensor] = None, attentions: List[neuralmonkey.attention.base_attention.BaseAttention] = None, attention_on_input: bool = False, rnn_cell: str = 'GRU', conditional_gru: bool = False, supress_unk: bool = False, reuse: neuralmonkey.model.model_part.ModelPart = None, save_checkpoint: str = None, load_checkpoint: str = None, initializers: List[Tuple[str, Callable]] = None) → None¶ Bases:
neuralmonkey.decoders.autoregressive.AutoregressiveDecoderA class managing parts of the computation graph used during decoding.
-
__init__(encoders: List[neuralmonkey.model.stateful.Stateful], vocabulary: neuralmonkey.vocabulary.Vocabulary, data_id: str, name: str, max_output_len: int, dropout_keep_prob: float = 1.0, embedding_size: int = None, embeddings_source: neuralmonkey.model.sequence.EmbeddedSequence = None, tie_embeddings: bool = False, label_smoothing: float = None, rnn_size: int = None, output_projection: Union[Tuple[Callable[[tensorflow.python.framework.ops.Tensor, tensorflow.python.framework.ops.Tensor, List[tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor], int], Callable[[tensorflow.python.framework.ops.Tensor, tensorflow.python.framework.ops.Tensor, List[tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor], tensorflow.python.framework.ops.Tensor]] = None, encoder_projection: Callable[[tensorflow.python.framework.ops.Tensor, int, List[neuralmonkey.model.stateful.Stateful]], tensorflow.python.framework.ops.Tensor] = None, attentions: List[neuralmonkey.attention.base_attention.BaseAttention] = None, attention_on_input: bool = False, rnn_cell: str = 'GRU', conditional_gru: bool = False, supress_unk: bool = False, reuse: neuralmonkey.model.model_part.ModelPart = None, save_checkpoint: str = None, load_checkpoint: str = None, initializers: List[Tuple[str, Callable]] = None) → None¶ Create a refactored version of monster decoder.
Parameters: - encoders – Input encoders of the decoder.
- vocabulary – Target vocabulary.
- data_id – Target data series.
- name – Name of the decoder. Should be unique accross all Neural Monkey objects.
- max_output_len – Maximum length of an output sequence.
- dropout_keep_prob – Probability of keeping a value during dropout.
- embedding_size – Size of embedding vectors for target words.
- embeddings_source – Embedded sequence to take embeddings from.
- tie_embeddings – Use decoder.embedding_matrix also in place of the output decoding matrix.
- rnn_size – Size of the decoder hidden state, if None set according to encoders.
- output_projection – How to generate distribution over vocabulary from decoder_outputs.
- encoder_projection – How to construct initial state from encoders.
- attention – The attention object to use. Optional.
- rnn_cell – RNN Cell used by the decoder (GRU or LSTM).
- conditional_gru – Flag whether to use the Conditional GRU architecture.
- attention_on_input – Flag whether attention from previous decoding step should be combined with the input in the next step.
- supress_unk – If true, decoder will not produce symbols for unknown tokens.
- reuse – Reuse the model variables from the given model part.
-
embed_input_symbol(*args) → tensorflow.python.framework.ops.Tensor¶
-
encoder_projection¶
-
finalize_loop(final_loop_state: neuralmonkey.decoders.autoregressive.LoopState, train_mode: bool) → None¶ Execute post-while loop operations.
Parameters: - final_loop_state – Decoder loop state at the end of the decoding loop.
- train_mode – Boolean flag, telling whether this is a training run.
-
get_body(train_mode: bool, sample: bool = False, temperature: float = 1) → Callable¶ Return the while loop body function.
-
get_initial_loop_state() → neuralmonkey.decoders.autoregressive.LoopState¶
-
initial_state¶ Compute initial decoder state.
The part of the computation graph that computes the initial state of the decoder.
-
input_plus_attention(*args) → tensorflow.python.framework.ops.Tensor¶ Merge input and previous attentions.
Input and previous attentions are merged into a single vector of the size fo embedding.
-
output_dimension¶
-
output_projection¶
-
output_projection_spec¶
-
rnn_size¶
-
-
class
neuralmonkey.decoders.decoder.RNNFeedables¶ Bases:
neuralmonkey.decoders.decoder.RNNFeedablesThe feedables used by an RNN-based decoder.
Shares attributes with the
DecoderFeedablesclass. The special attributes are listed below.-
prev_rnn_state¶ The recurrent state from the previous step. A tensor of shape
(batch, rnn_size)
-
prev_rnn_output¶ The output of the recurrent network from the previous step. A tensor of shape
(batch, output_size)
-
prev_contexts¶ A list of context vectors returned from attention mechanisms. Tensors of shape
(batch, encoder_state_size)for each attended encoder.
-
-
class
neuralmonkey.decoders.decoder.RNNHistories¶ Bases:
neuralmonkey.decoders.decoder.RNNHistoriesThe loop state histories for RNN-based decoders.
Shares attributes with the
DecoderHistoriesclass. The special attributes are listed below.-
attention_histories¶ A list of
AttentionLoopStateobjects (or similar) populated by values from the attention mechanisms used in the decoder.
-