class_docstr: Transformer Encoder is stacked with several
  TransformerdecLayers, consist of beamsearch for infrence.
class_docstr_tok: ["Transformer","Encoder","is","stacked","with","several","TransformerdecLayers",",","consist","of","beamsearch","for","infrence","."]
docstr: Decoder func
docstr_tok: ["Decoder","func"]
code: def decode(self, dec_inps, enc_out, training=None, mask=None):
      """
      Decoder func
      """
      look_ahead_mask = utils.create_look_ahead_mask(dec_inps)
      mask = (look_ahead_mask, mask)
      dec_emb = self.embed_layer(dec_inps)
      dec_pos_emb = self.pos_embed_layer(dec_inps)
      dec_emb += dec_pos_emb
  
      dec_inp = dec_emb
      for dec_layer in self.transformer_decs:
          dec_inp = dec_layer(
              [dec_inp, enc_out], training=training, mask=mask
          )
      dec_out = dec_inp
      return dec_out
  
imports: import math
  from absl import logging
  import numpy
  import delta.compat
  from tensorflow.python.util import nest
  from delta.layers.base_layer import Layer
  from delta.layers import utils_tf
  import delta.layers
label_desc: Use image node_id 2 for calling the TransformerDecoder obj's underlying member method code with example usage: obj.decode(dec_inps, enc_out, training, mask) and returns: dec_out