class_docstr: Decoder with FeedForwardTransformer.
  
  Default params
          params={
              'hidden_channels_ffn': 1024,
              'num_heads': 2,
              "dropout_p": 0.1,
              "num_layers": 6,
          }
  
  Args:
      in_channels (int): number of input channels.
      out_channels (int): number of output channels.
      hidden_channels (int): number of hidden channels including Transformer layers.
      params (dict): dictionary for residual convolutional blocks.
class_docstr_tok: ["Decoder","with","FeedForwardTransformer",".","Default","params","params=","{","'hidden_channels_ffn","'",":","1024",",","'num_heads","'",":","2",",","``","dropout_p","''",":","0.1",",","``","num_layers","''",":","6",",","}","Args",":","in_channels","(","int",")",":","number","of","input","channels",".","out_channels","(","int",")",":","number","of","output","channels",".","hidden_channels","(","int",")",":","number","of","hidden","channels","including","Transformer","layers",".","params","(","dict",")",":","dictionary","for","residual","convolutional","blocks","."]
code: def __init__(self, in_channels, out_channels, params):
      super().__init__()
      self.transformer_block = FFTransformerBlock(in_channels, **params)
      self.postnet = nn.Conv1d(in_channels, out_channels, 1)
  
imports: import torch
  from torch import nn
  from TTS.tts.layers.generic.res_conv_bn import Conv1dBN, Conv1dBNBlock, ResidualConv1dBNBlock
  from TTS.tts.layers.generic.transformer import FFTransformerBlock
  from TTS.tts.layers.generic.wavenet import WNBlocks
  from TTS.tts.layers.glow_tts.transformer import RelativePositionTransformer
label_desc: Use image node_id 1 to create a new FFTransformerDecoder object from inherited base classes: nn with example: obj = FFTransformerDecoder(in_channels, out_channels, params)