class_docstr: Single encoder layer module.
  
  Args:
      n_units (int): Number of input/output dimension of a FeedForward layer.
      d_units (int): Number of units of hidden layer in a FeedForward layer.
      h (int): Number of attention heads.
      dropout (float): Dropout rate
docstr: Forward Positional Encoding.
code: def forward(self, e, xx_mask, batch):
      """Forward Positional Encoding."""
      n_e = self.norm1(e)
      n_e = self.self_attn(n_e, mask=xx_mask, batch=batch)
      e = e + F.dropout(n_e, self.dropout)
  
      n_e = self.norm2(e)
      n_e = self.feed_forward(n_e)
      e = e + F.dropout(n_e, self.dropout)
      return e
  
file_path: espnet/espnet/nets/chainer_backend/transformer/encoder_layer.py
imports: import chainer
  import chainer.functions
  from espnet.nets.chainer_backend.transformer.attention import MultiHeadAttention
  from espnet.nets.chainer_backend.transformer.layer_norm import LayerNorm
  from espnet.nets.chainer_backend.transformer.positionwise_feed_forward import PositionwiseFeedForward
label_desc: Use image node_id 2 for calling the EncoderLayer obj's underlying member method code with example usage: obj.forward(e, xx_mask, batch) and returns: e