tf.contrib.seq2seq.Decoder
Stay organized with collections
Save and categorize content based on your preferences.
An RNN Decoder abstract interface object.
Concepts used by this interface:
inputs
: (structure of) tensors and TensorArrays that is passed as input to
the RNNCell composing the decoder, at each time step.
state
: (structure of) tensors and TensorArrays that is passed to the
RNNCell instance as the state.
finished
: boolean tensor telling whether each sequence in the batch is
finished.
outputs
: Instance of BasicDecoderOutput. Result of the decoding, at each
time step.
Attributes |
batch_size
|
The batch size of input values.
|
output_dtype
|
A (possibly nested tuple of...) dtype[s].
|
output_size
|
A (possibly nested tuple of...) integer[s] or TensorShape object[s].
|
tracks_own_finished
|
Describes whether the Decoder keeps track of finished states.
Most decoders will emit a true/false finished value independently
at each time step. In this case, the dynamic_decode function keeps track
of which batch entries are already finished, and performs a logical OR to
insert new batches to the finished set.
Some decoders, however, shuffle batches / beams between time steps and
dynamic_decode will mix up the finished state across these entries because
it does not track the reshuffle across time steps. In this case, it is
up to the decoder to declare that it will keep track of its own finished
state by setting this property to True .
|
Methods
finalize
View source
finalize(
outputs, final_state, sequence_lengths
)
Called after decoding iterations complete.
Args |
outputs
|
RNNCell outputs (possibly nested tuple of) tensor[s] for all time
steps.
|
final_state
|
RNNCell final state (possibly nested tuple of) tensor[s] for
last time step.
|
sequence_lengths
|
1-D int32 tensor containing lengths of each sequence.
|
Returns |
(final_outputs, final_state) : final_outputs is an object containing
the final decoder output, final_state is a (structure of) state tensors
and TensorArrays.
|
initialize
View source
@abc.abstractmethod
initialize(
name=None
)
Called before any decoding iterations.
This methods must compute initial input values and initial state.
Args |
name
|
Name scope for any created operations.
|
Returns |
(finished, initial_inputs, initial_state) : initial values of
'finished' flags, inputs and state.
|
step
View source
@abc.abstractmethod
step(
time, inputs, state, name=None
)
Called per step of decoding (but only once for dynamic decoding).
Args |
time
|
Scalar int32 tensor. Current step number.
|
inputs
|
RNNCell input (possibly nested tuple of) tensor[s] for this time
step.
|
state
|
RNNCell state (possibly nested tuple of) tensor[s] from previous
time step.
|
name
|
Name scope for any created operations.
|
Returns |
(outputs, next_state, next_inputs, finished) : outputs is an object
containing the decoder output, next_state is a (structure of) state
tensors and TensorArrays, next_inputs is the tensor that should be used
as input for the next step, finished is a boolean tensor telling whether
the sequence is complete, for each sequence in the batch.
|
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."],[],[],null,["# tf.contrib.seq2seq.Decoder\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/seq2seq/python/ops/decoder.py#L50-L150) |\n\nAn RNN Decoder abstract interface object.\n\nConcepts used by this interface:\n\n- `inputs`: (structure of) tensors and TensorArrays that is passed as input to the RNNCell composing the decoder, at each time step.\n- `state`: (structure of) tensors and TensorArrays that is passed to the RNNCell instance as the state.\n- `finished`: boolean tensor telling whether each sequence in the batch is finished.\n- `outputs`: Instance of BasicDecoderOutput. Result of the decoding, at each time step.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Attributes ---------- ||\n|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `batch_size` | The batch size of input values. |\n| `output_dtype` | A (possibly nested tuple of...) dtype\\[s\\]. |\n| `output_size` | A (possibly nested tuple of...) integer\\[s\\] or `TensorShape` object\\[s\\]. |\n| `tracks_own_finished` | Describes whether the Decoder keeps track of finished states. \u003cbr /\u003e Most decoders will emit a true/false `finished` value independently at each time step. In this case, the `dynamic_decode` function keeps track of which batch entries are already finished, and performs a logical OR to insert new batches to the finished set. Some decoders, however, shuffle batches / beams between time steps and `dynamic_decode` will mix up the finished state across these entries because it does not track the reshuffle across time steps. In this case, it is up to the decoder to declare that it will keep track of its own finished state by setting this property to `True`. |\n\n\u003cbr /\u003e\n\nMethods\n-------\n\n### `finalize`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/seq2seq/python/ops/decoder.py#L115-L130) \n\n finalize(\n outputs, final_state, sequence_lengths\n )\n\nCalled after decoding iterations complete.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|--------------------|--------------------------------------------------------------------------------|\n| `outputs` | RNNCell outputs (possibly nested tuple of) tensor\\[s\\] for all time steps. |\n| `final_state` | RNNCell final state (possibly nested tuple of) tensor\\[s\\] for last time step. |\n| `sequence_lengths` | 1-D `int32` tensor containing lengths of each sequence. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| `(final_outputs, final_state)`: `final_outputs` is an object containing the final decoder output, `final_state` is a (structure of) state tensors and TensorArrays. ||\n\n\u003cbr /\u003e\n\n### `initialize`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/seq2seq/python/ops/decoder.py#L79-L92) \n\n @abc.abstractmethod\n initialize(\n name=None\n )\n\nCalled before any decoding iterations.\n\nThis methods must compute initial input values and initial state.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|--------|----------------------------------------|\n| `name` | Name scope for any created operations. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| `(finished, initial_inputs, initial_state)`: initial values of 'finished' flags, inputs and state. ||\n\n\u003cbr /\u003e\n\n### `step`\n\n[View source](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/seq2seq/python/ops/decoder.py#L94-L113) \n\n @abc.abstractmethod\n step(\n time, inputs, state, name=None\n )\n\nCalled per step of decoding (but only once for dynamic decoding).\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ||\n|----------|-------------------------------------------------------------------------------|\n| `time` | Scalar `int32` tensor. Current step number. |\n| `inputs` | RNNCell input (possibly nested tuple of) tensor\\[s\\] for this time step. |\n| `state` | RNNCell state (possibly nested tuple of) tensor\\[s\\] from previous time step. |\n| `name` | Name scope for any created operations. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ||\n|---|---|\n| `(outputs, next_state, next_inputs, finished)`: `outputs` is an object containing the decoder output, `next_state` is a (structure of) state tensors and TensorArrays, `next_inputs` is the tensor that should be used as input for the next step, `finished` is a boolean tensor telling whether the sequence is complete, for each sequence in the batch. ||\n\n\u003cbr /\u003e"]]