class_docstr: This class implements the `ResNet architecture <https://arxiv.org/pdf/1512.03385.pdf>`_
  
  .. note::
      Our ResNet implementation is different from the original implementation in two ways:
      1. First 7x7 strided conv is replaced with 3x3 strided conv
      2. MaxPool operation is replaced with another 3x3 strided depth-wise conv
code: def add_arguments(
      cls, parser: argparse.ArgumentParser
  ) -> argparse.ArgumentParser:
      group = parser.add_argument_group(title=cls.__name__)
      group.add_argument(
          "--model.classification.resnet.depth", type=int, default=50
      )
      group.add_argument(
          "--model.classification.resnet.dropout",
          type=float,
          default=0.0,
          help="Dropout in Resnet blocks. Defaults to 0.",
      )
  
      group.add_argument(
          "--model.classification.resnet.stochastic-depth-prob",
          type=float,
          default=0.0,
          help="Stochastic depth drop probability in Resnet blocks. Defaults to 0.",
      )
  
      group.add_argument(
          "--model.classification.resnet.se-resnet",
          action="store_true",
          default=False,
          help="Whether to use SE block to construct SE-ResNet model. Defaults to False.",
      )
      return parser
  
file_path: ml-cvnets/cvnets/models/classification/resnet.py
imports: import argparse
  from functools import partial
  from typing import Dict, List, Tuple
  import numpy
  from torch import nn
  from cvnets.layers import ConvLayer2d, Dropout, GlobalPool, Identity, LinearLayer
  from cvnets.models import MODEL_REGISTRY
  from cvnets.models.classification.base_image_encoder import BaseImageEncoder
  from cvnets.models.classification.config.resnet import get_configuration
  from cvnets.modules import BasicResNetBlock, BottleneckResNetBlock
label_desc: Use image node_id 4 for calling the ResNet obj's underlying member method code with example usage: obj.add_arguments(cls, parser) and returns: parser