class_docstr: An RNN Decoder that is based on a Keras layer.
  
  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.
  - `memory`: tensor that is usually the full output of the encoder, which
    will be used for the attention wrapper for the RNN cell.
  - `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","that","is","based","on","a","Keras","layer",".","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",".","-","`","memory","`",":","tensor","that","is","usually","the","full","output","of","the","encoder",",","which","will","be","used","for","the","attention","wrapper","for","the","RNN","cell",".","-","`","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.
  
  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",".","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):
      """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.
  
      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 7 for calling the BaseDecoder obj's underlying member method code with example usage: obj.step(time, inputs, state, training) without return types