code: def __init__(
      self,
      inplanes,
      planes,
      stride=1,
      downsample=None,
      cardinality=1,
      base_width=64,
      sk_kwargs=None,
      reduce_first=1,
      dilation=1,
      first_dilation=None,
      act_layer=nn.ReLU,
      norm_layer=nn.BatchNorm2d,
      attn_layer=None,
      aa_layer=None,
      drop_block=None,
      drop_path=None,
  ):
      super(SelectiveKernelBottleneck, self).__init__()
  
      sk_kwargs = sk_kwargs or {}
      conv_kwargs = dict(act_layer=act_layer, norm_layer=norm_layer)
      width = int(math.floor(planes * (base_width / 64)) * cardinality)
      first_planes = width // reduce_first
      outplanes = planes * self.expansion
      first_dilation = first_dilation or dilation
  
      self.conv1 = ConvNormAct(
          inplanes, first_planes, kernel_size=1, **conv_kwargs
      )
      self.conv2 = SelectiveKernel(
          first_planes,
          width,
          stride=stride,
          dilation=first_dilation,
          groups=cardinality,
          aa_layer=aa_layer,
          drop_layer=drop_block,
          **conv_kwargs,
          **sk_kwargs,
      )
      self.conv3 = ConvNormAct(
          width,
          outplanes,
          kernel_size=1,
          apply_act=False,
          **conv_kwargs,
      )
      self.se = create_attn(attn_layer, outplanes)
      self.act = act_layer(inplace=True)
      self.downsample = downsample
      self.drop_path = drop_path
  
imports: import math
  from torch import nn
  from timm.data import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD
  from timm.layers import SelectiveKernel, ConvNormAct, create_attn
  from ._builder import build_model_with_cfg
  from ._registry import register_model, generate_default_cfgs
  from .resnet import ResNet
label_desc: Use image node_id 1 to create a new SelectiveKernelBottleneck object from inherited base classes: nn with example: obj = SelectiveKernelBottleneck(inplanes, planes, stride, downsample, cardinality, base_width, sk_kwargs, reduce_first, dilation, first_dilation, act_layer, norm_layer, attn_layer, aa_layer, drop_block, drop_path)