class_docstr: ResNet Bottleneck
      
class_docstr_tok: ["ResNet","Bottleneck"]
code: def __init__(
      self,
      inplanes,
      planes,
      stride=1,
      dilation=1,
      downsample=None,
      previous_dilation=1,
      norm_layer=None,
      r2_factor=None,
  ):
      super(Bottleneck, self).__init__()
      self.r2_factor = r2_factor
      self.conv1 = nn.Conv2d(
          inplanes, planes, kernel_size=1, bias=False
      )
      self.bn1 = norm_layer(planes)
      if self.r2_factor:
          self.avg_pool = nn.AvgPool2d(r2_factor, stride=1, padding=1)
      self.conv2 = nn.Conv2d(
          planes,
          planes,
          kernel_size=3,
          stride=stride,
          padding=dilation,
          dilation=dilation,
          bias=False,
      )
      self.bn2 = norm_layer(planes)
      self.conv3 = nn.Conv2d(
          planes, planes * 4, kernel_size=1, bias=False
      )
      self.bn3 = norm_layer(planes * 4)
      self.relu = nn.ReLU(inplace=True)
      self.downsample = downsample
      self.dilation = dilation
      self.stride = stride
  
imports: import math
  import torch
  import torch.utils.model_zoo
  import torch.nn
label_desc: Use image node_id 1 to create a new Bottleneck object from inherited base classes: nn with example: obj = Bottleneck(inplanes, planes, stride, dilation, downsample, previous_dilation, norm_layer, r2_factor)