class_docstr: Bottleneck for CLIPResNet.
  
  It is a Bottleneck variant used in the ResNet variant of CLIP. After the
  second convolution layer, there is an additional average pooling layer with
  kernel_size 2 and stride 2, which is added as a plugin when the
  input stride > 1. The stride of each convolution layer is always set to 1.
  
  Args:
      **kwargs: Keyword arguments for
          :class:``mmdet.models.backbones.resnet.Bottleneck``.
code: def __init__(self, **kwargs):
      stride = kwargs.get("stride", 1)
      kwargs["stride"] = 1
      plugins = kwargs.get("plugins", None)
      if stride > 1:
          if plugins is None:
              plugins = []
  
          plugins.insert(
              0,
              dict(
                  cfg=dict(type="mmocr.AvgPool2d", kernel_size=2),
                  position="after_conv2",
              ),
          )
          kwargs["plugins"] = plugins
      super().__init__(**kwargs)
  
file_path: mmocr/mmocr/models/common/backbones/clip_resnet.py
imports: import torch.nn
  from mmdet.models.backbones import ResNet
  from mmdet.models.backbones.resnet import Bottleneck
  from mmocr.registry import MODELS
label_desc: Use image node_id 1 to create a new CLIPBottleneck object from inherited base classes: Bottleneck with example: obj = CLIPBottleneck()