class_docstr: Transformer decoder layer module for custom Transducer model.
  
  Args:
      hdim: Hidden dimension.
      self_attention: Self-attention module.
      feed_forward: Feed forward module.
      dropout_rate: Dropout rate.
docstr: Construct an DecoderLayer object.
code: def __init__(
      self,
      hdim: int,
      self_attention: MultiHeadedAttention,
      feed_forward: PositionwiseFeedForward,
      dropout_rate: float,
  ):
      """Construct an DecoderLayer object."""
      super().__init__()
  
      self.self_attention = self_attention
      self.feed_forward = feed_forward
  
      self.norm1 = LayerNorm(hdim)
      self.norm2 = LayerNorm(hdim)
  
      self.dropout = torch.nn.Dropout(dropout_rate)
  
      self.hdim = hdim
  
file_path: espnet/espnet/nets/pytorch_backend/transducer/transformer_decoder_layer.py
imports: from typing import Optional
  import torch
  from espnet.nets.pytorch_backend.transformer.attention import MultiHeadedAttention
  from espnet.nets.pytorch_backend.transformer.layer_norm import LayerNorm
  from espnet.nets.pytorch_backend.transformer.positionwise_feed_forward import PositionwiseFeedForward
label_desc: Use image node_id 1 to create a new TransformerDecoderLayer object from inherited base classes: torch.nn with example: obj = TransformerDecoderLayer(hdim, _attention, feed_forward, dropout_rate)