code: def __init__(
      self,
      inplanes,
      planes,
      stride=1,
      downsample=None,
      norm_layer=BatchNorm3d,
      norm_kwargs=None,
      layer_name="",
      **kwargs,
  ):
      super(Bottleneck, self).__init__()
      self.downsample = downsample
  
      midplanes = (inplanes * planes * 3 * 3 * 3) // (
          inplanes * 3 * 3 + 3 * planes
      )
  
      # 1x1x1
      self.conv1 = nn.Conv3d(
          in_channels=inplanes,
          out_channels=planes,
          kernel_size=1,
          bias=False,
      )
      self.bn1 = norm_layer(
          num_features=planes,
          **({} if norm_kwargs is None else norm_kwargs),
      )
      self.relu = nn.ReLU(inplace=False)
  
      # Second kernel
      self.conv2 = Conv2Plus1D(planes, planes, midplanes, stride)
      self.bn2 = norm_layer(
          num_features=planes,
          **({} if norm_kwargs is None else norm_kwargs),
      )
  
      self.conv3 = nn.Conv3d(
          in_channels=planes,
          out_channels=planes * self.expansion,
          kernel_size=1,
          bias=False,
      )
      self.bn3 = norm_layer(
          num_features=planes * self.expansion,
          **({} if norm_kwargs is None else norm_kwargs),
      )
  
imports: import torch
  import torch.nn
  from torch.nn import BatchNorm3d
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, downsample, norm_layer, norm_kwargs, layer_name)