code: def forward(self, dec_inp, in_lens):
      # B, C, T --> B, T, C
      inp = dec_inp.transpose(1, 2)
      mask = get_mask_from_lengths(in_lens)[..., None]
  
      pos_seq = torch.arange(inp.size(1), device=inp.device).to(
          inp.dtype
      )
      pos_emb = self.pos_emb(pos_seq) * mask
  
      out = self.drop(inp + pos_emb)
  
      for layer in self.layers:
          out = layer(out, mask=mask)
  
      out = self.dense(out).transpose(1, 2)
      return out
  
imports: from typing import Optional
  import torch
  import torch.nn
  import torch.nn.functional
  from nemo.collections.tts.modules.submodules import ConditionalInput, ConditionalLayerNorm, LinearNorm
  from nemo.collections.tts.parts.utils.helpers import get_mask_from_lengths
  from nemo.core.classes import NeuralModule, adapter_mixins, typecheck
  from nemo.core.neural_types.elements import EncodedRepresentation, LengthsType, MaskType, TokenIndex
  from nemo.core.neural_types.neural_type import NeuralType
label_desc: Use image node_id 2 for calling the FFTransformer obj's underlying member method code with example usage: obj.forward(dec_inp, in_lens) and returns: out