docstr: 😦 ugly looking with all the transposing
docstr_tok: ["\ud83d\ude26","ugly","looking","with","all","the","transposing"]
code: def forward(self, src, src_mask=None, src_key_padding_mask=None):
      """😦 ugly looking with all the transposing"""
      src = src.permute(2, 0, 1)
      src2, enc_align = self.self_attn(
          src,
          src,
          src,
          attn_mask=src_mask,
          key_padding_mask=src_key_padding_mask,
      )
      src = src + self.dropout1(src2)
      src = self.norm1(src + src2)
      # T x B x D -> B x D x T
      src = src.permute(1, 2, 0)
      src2 = self.conv2(F.relu(self.conv1(src)))
      src2 = self.dropout2(src2)
      src = src + src2
      src = src.transpose(1, 2)
      src = self.norm2(src)
      src = src.transpose(1, 2)
      return src, enc_align
  
file_path: TTS/TTS/tts/layers/generic/transformer.py
imports: import torch
  import torch.nn.functional
  from torch import nn
label_desc: Use image node_id 2 for calling the FFTransformer obj's underlying member method code with example usage: obj.forward(src, src_mask, src_key_padding_mask) and returns: src,  enc_align