class_docstr: ConvNeXT stage, consisting of an optional downsampling layer + multiple residual blocks.
  
  Args:
      config ([`ConvNextConfig`]): Model configuration class.
      in_channels (`int`): Number of input channels.
      out_channels (`int`): Number of output channels.
      depth (`int`): Number of residual blocks.
      drop_path_rates(`List[float]`): Stochastic depth rates for each layer.
code: def forward(self, hidden_states: torch.FloatTensor) -> torch.Tensor:
      hidden_states = self.downsampling_layer(hidden_states)
      hidden_states = self.layers(hidden_states)
      return hidden_states
  
imports: from typing import Optional, Tuple, Union
  import torch
  import torch.utils.checkpoint
  from torch import nn
  from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss
  from ...activations import ACT2FN
  from ...modeling_outputs import BackboneOutput, BaseModelOutputWithNoAttention, BaseModelOutputWithPoolingAndNoAttention, ImageClassifierOutputWithNoAttention
  from ...modeling_utils import PreTrainedModel
  from ...utils import add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward, logging, replace_return_docstrings
  from ...utils.backbone_utils import BackboneMixin
  from .configuration_convnext import ConvNextConfig
label_desc: Use image node_id 2 for calling the ConvNextStage obj's underlying member method code with example usage: obj.forward(hidden_states) and returns: hidden_states