class_docstr: A transformer decoder block consists of an autoregressive attention block, encoder attention,
  and a feed-forward layer with pre/post process blocks in between.
docstr: :param batch_size: current batch size
  :return: dimensions of an output state (assuming all of them have the same shape)
docstr_tok: [":","param","batch_size",":","current","batch","size",":","return",":","dimensions","of","an","output","state","(","assuming","all","of","them","have","the","same","shape",")"]
code: def get_states_shape(self, batch_size: int) -> Tuple:
      """
      :param batch_size: current batch size
      :return: dimensions of an output state (assuming all of them have the same shape)
      """
      return self.autoregr_layer.get_state_shape(batch_size)
  
imports: from dataclasses import dataclass
  from typing import Optional, Tuple
  import torch
  import sockeye.layers
  from sockeye import constants
  from .None import config
label_desc: Use image node_id 5 for calling the TransformerDecoderBlock obj's underlying member method code with example usage: obj.get_states_shape(batch_size) and returns: self