class_docstr: An RNN Decoder abstract interface object.
  
  Concepts used by this interface:
  - `inputs`: (structure of) tensors and TensorArrays that is passed as input
    to the RNN cell composing the decoder, at each time step.
  - `state`: (structure of) tensors and TensorArrays that is passed to the
    RNN cell instance as the state.
  - `finished`: boolean tensor telling whether each sequence in the batch is
    finished.
  - `training`: boolean whether it should behave in training mode or in
    inference mode.
  - `outputs`: instance of `tfa.seq2seq.BasicDecoderOutput`. Result of the decoding, at
    each time step.
class_docstr_tok: ["An","RNN","Decoder","abstract","interface","object",".","Concepts","used","by","this","interface",":","-","`","inputs","`",":","(","structure","of",")","tensors","and","TensorArrays","that","is","passed","as","input","to","the","RNN","cell","composing","the","decoder",",","at","each","time","step",".","-","`","state","`",":","(","structure","of",")","tensors","and","TensorArrays","that","is","passed","to","the","RNN","cell","instance","as","the","state",".","-","`","finished","`",":","boolean","tensor","telling","whether","each","sequence","in","the","batch","is","finished",".","-","`","training","`",":","boolean","whether","it","should","behave","in","training","mode","or","in","inference","mode",".","-","`","outputs","`",":","instance","of","`","tfa.seq2seq.BasicDecoderOutput","`",".","Result","of","the","decoding",",","at","each","time","step","."]
docstr: Called per step of decoding (but only once for dynamic decoding).
  
  Args:
    time: Scalar `int32` tensor. Current step number.
    inputs: RNN cell input (possibly nested tuple of) tensor[s] for this
      time step.
    state: RNN cell state (possibly nested tuple of) tensor[s] from
      previous time step.
    training: Python boolean. Indicates whether the layer should behave
      in training  mode or in inference mode. Only relevant
      when `dropout` or `recurrent_dropout` is used.
    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.
docstr_tok: ["Called","per","step","of","decoding","(","but","only","once","for","dynamic","decoding",")",".","Args",":","time",":","Scalar","`","int32","`","tensor",".","Current","step","number",".","inputs",":","RNN","cell","input","(","possibly","nested","tuple","of",")","tensor","[","s","]","for","this","time","step",".","state",":","RNN","cell","state","(","possibly","nested","tuple","of",")","tensor","[","s","]","from","previous","time","step",".","training",":","Python","boolean",".","Indicates","whether","the","layer","should","behave","in","training","mode","or","in","inference","mode",".","Only","relevant","when","`","dropout","`","or","`","recurrent_dropout","`","is","used",".","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","."]
code: def step(self, time, inputs, state, training=None, name=None):
      """Called per step of decoding (but only once for dynamic decoding).
  
      Args:
        time: Scalar `int32` tensor. Current step number.
        inputs: RNN cell input (possibly nested tuple of) tensor[s] for this
          time step.
        state: RNN cell state (possibly nested tuple of) tensor[s] from
          previous time step.
        training: Python boolean. Indicates whether the layer should behave
          in training  mode or in inference mode. Only relevant
          when `dropout` or `recurrent_dropout` is used.
        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.
      """
      raise NotImplementedError
  
imports: import abc
  import tensorflow
  from tensorflow_addons.utils.types import TensorLike
  from typeguard import typechecked
  from typing import Any, Optional, Tuple, Union
  from tensorflow.python.ops import control_flow_util
label_desc: Use image node_id 5 for calling the Decoder obj's underlying member method code with example usage: obj.step(time, inputs, state, training, name) without return types