class_docstr: MLP head for transformer blocks
class_docstr_tok: ["MLP","head","for","transformer","blocks"]
docstr: Forward pass.
  
  Args:
      features: tensor of shape (batch_size, seq_len, hidden_dim)
  
  Returns:
      tensor of shape (batch_size, seq_len, hidden_dim)
docstr_tok: ["Forward","pass",".","Args",":","features",":","tensor","of","shape","(","batch_size",",","seq_len",",","hidden_dim",")","Returns",":","tensor","of","shape","(","batch_size",",","seq_len",",","hidden_dim",")"]
code: def forward(self, input: Tensor) -> Tensor:
      """Forward pass.
  
      Args:
          features: tensor of shape (batch_size, seq_len, hidden_dim)
  
      Returns:
          tensor of shape (batch_size, seq_len, hidden_dim)
      """
      input = self.fc1(input)
      input = self.act(input)
      input = self.dropout(input)
      input = self.fc2(input)
      return self.dropout(input)
  
imports: from typing import Optional, Tuple
  import torch
  import torch.nn
  from torch import Tensor
label_desc: Use image node_id 2 for calling the MLP obj's underlying member method code with example usage: obj.forward(input) and returns: self