View source on GitHub |
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 Some decoders, however, shuffle batches / beams between time steps and
|
Methods
finalize
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
@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
@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.
|