code: def forward(
      self,
      hidden_states: torch.Tensor,
      attention_mask: Optional[torch.FloatTensor] = None,
      head_mask: Optional[torch.FloatTensor] = None,
      output_attentions: bool = False,
      output_hidden_states: bool = False,
  ) -> Tuple[torch.Tensor, torch.Tensor]:
      attention_output = self.attention(
          hidden_states, attention_mask, head_mask, output_attentions
      )
  
      ffn_output = apply_chunking_to_forward(
          self.ff_chunk,
          self.chunk_size_feed_forward,
          self.seq_len_dim,
          attention_output[0],
      )
  
      hidden_states = self.output_adapters(
          ffn_output, attention_output[0], self.full_layer_layer_norm
      )
  
      return (hidden_states,) + attention_output[1:]
  
file_path: adapters/src/adapters/models/albert/modeling_albert.py
imports: import math
  from typing import Optional, Tuple, Union
  import torch
  from torch import nn
  from transformers.models.albert.modeling_albert import AlbertAttention, AlbertLayer
  from transformers.pytorch_utils import apply_chunking_to_forward
  from ...composition import adjust_tensors_for_parallel, match_attn_matrices_for_parallel
  from ...utils import prefix_attention_mask
  from .mixin_albert import AlbertAttentionAdaptersMixin, AlbertEncoderLayerAdaptersMixin
label_desc: Use image node_id 1 for calling the AlbertLayerWithAdapters obj's underlying member method code with example usage: obj.forward(hidden_states, attention_mask, head_mask, output_attentions, output_hidden_states) and returns: unknown