class_docstr: Layer that follows attention layer in encoder layer.
class_docstr_tok: ["Layer","that","follows","attention","layer","in","encoder","layer","."]
docstr: Args:
      x (Tensor): shape: `(batch, sequence_length, io_features)`
  Returns:
      x (Tensor): shape: `(batch, sequence_length, io_features)`
docstr_tok: ["Args",":","x","(","Tensor",")",":","shape",":","`","(","batch",",","sequence_length",",","io_features",")","`","Returns",":","x","(","Tensor",")",":","shape",":","`","(","batch",",","sequence_length",",","io_features",")","`"]
code: def forward(self, x):
      """
      Args:
          x (Tensor): shape: `(batch, sequence_length, io_features)`
      Returns:
          x (Tensor): shape: `(batch, sequence_length, io_features)`
      """
      x = self.intermediate_dense(x)
      x = torch.nn.functional.gelu(x)
      x = self.intermediate_dropout(x)
  
      x = self.output_dense(x)
      x = self.output_dropout(x)
      return x
  
imports: import logging
  from typing import List, Optional, Tuple
  import torch
  from torch import nn, Tensor
  from torch.nn import Module, Parameter
  from .wavlm_attention import WavLMSelfAttention
label_desc: Use image node_id 2 for calling the FeedForward obj's underlying member method code with example usage: obj.forward(x) and returns: x