class_docstr: Conformer employ multi-headed self-attention (MHSA) while integrating an important technique from Transformer-XL,
  the relative sinusoidal positional encoding scheme. The relative positional encoding allows the self-attention
  module to generalize better on different input length and the resulting encoder is more robust to the variance of
  the utterance length. Conformer use prenorm residual units with dropout which helps training
  and regularizing deeper models.
  Args:
      d_model (int): The dimension of model
      num_heads (int): The number of attention heads.
      dropout_p (float): probability of dropout
  Inputs: inputs, mask
      - **inputs** (batch, time, dim): Tensor containing input vector
      - **mask** (batch, 1, time2) or (batch, time1, time2): Tensor containing indices to be masked
  Returns:
      - **outputs** (batch, time, dim): Tensor produces by relative multi headed self attention module.
code: def forward(
      self,
      query: torch.Tensor,
      key: torch.Tensor,
      value: torch.Tensor,
      mask: torch.Tensor,
      encoding: torch.Tensor,
  ) -> Tuple[torch.Tensor, torch.Tensor]:
      (
          batch_size,
          seq_length,
          _,
      ) = key.size()  # pylint: disable=unused-variable
      encoding = encoding[:, : key.shape[1]]
      encoding = encoding.repeat(batch_size, 1, 1)
      outputs, attn = self.attention(
          query, key, value, pos_embedding=encoding, mask=mask
      )
      outputs = self.dropout(outputs)
      return outputs, attn
  
imports: import math
  from typing import Tuple
  import torch
  import torch.nn
  import torch.nn.functional
  from TTS.tts.layers.delightful_tts.conv_layers import Conv1dGLU, DepthWiseConv1d, PointwiseConv1d
  from TTS.tts.layers.delightful_tts.networks import GLUActivation
label_desc: Use image node_id 2 for calling the ConformerMultiHeadedSelfAttention obj's underlying member method code with example usage: obj.forward(query, key, value, mask, encoding) and returns: outputs,  attn