code: def _convnext(
      block_setting: List[CNBlockConfig],
      stochastic_depth_prob: float,
      weights: Optional[WeightsEnum],
      progress: bool,
      **kwargs: Any,
  ) -> ConvNeXt:
      if weights is not None:
          _ovewrite_named_param(
              kwargs, "num_classes", len(weights.meta["categories"])
          )
  
      model = ConvNeXt(
          block_setting,
          stochastic_depth_prob=stochastic_depth_prob,
          **kwargs,
      )
  
      if weights is not None:
          model.load_state_dict(
              weights.get_state_dict(progress=progress, check_hash=True)
          )
  
      return model
  
imports: from functools import partial
  from typing import Any, Callable, List, Optional, Sequence
  import torch
  from torch import nn, Tensor
  from torch.nn import functional
  from ..ops.misc import Conv2dNormActivation, Permute
  from ..ops.stochastic_depth import StochasticDepth
  from ..transforms._presets import ImageClassification
  from ..utils import _log_api_usage_once
  from ._api import register_model, Weights, WeightsEnum
  from ._meta import _IMAGENET_CATEGORIES
  from ._utils import _ovewrite_named_param, handle_legacy_interface
label_desc: Use image node_id 1 for calling a global function with example usage: _convnext(block_setting, stochastic_depth_prob, weights, progress) and returns: model