code: def __init__(
      self,
      in_planes,
      planes,
      stride=1,
      temporal_stride=1,
      down_sample=None,
      expansion=2,
      temporal_kernel=3,
      use_affine=True,
  ):
      super(Bottleneck_IRCSNv2, self).__init__()
      self.expansion = expansion
      self.conv1 = nn.Conv3d(
          in_planes,
          planes,
          kernel_size=(1, 1, 1),
          bias=False,
          stride=(1, 1, 1),
      )
  
      if use_affine:
          self.bn1 = Affine(planes)
      else:
          self.bn1 = nn.BatchNorm3d(
              planes, track_running_stats=True, eps=eps, momentum=bn_mmt
          )
  
      self.conv3 = nn.Conv3d(
          planes,
          planes,
          kernel_size=(3, 3, 3),
          bias=False,
          stride=(temporal_stride, stride, stride),
          padding=((temporal_kernel - 1) // 2, 1, 1),
          groups=planes,
      )
  
      if use_affine:
          self.bn3 = Affine(planes)
      else:
          self.bn3 = nn.BatchNorm3d(
              planes, track_running_stats=True, eps=eps, momentum=bn_mmt
          )
  
      self.conv4 = nn.Conv3d(
          planes, planes * self.expansion, kernel_size=1, bias=False
      )
  
      if use_affine:
          self.bn4 = Affine(planes * self.expansion)
      else:
          self.bn4 = nn.BatchNorm3d(
              planes * self.expansion,
              track_running_stats=True,
              eps=eps,
              momentum=bn_mmt,
          )
  
      self.relu = nn.ReLU(inplace=True)
      self.down_sample = down_sample
      self.stride = stride
  
file_path: gluon-cv/gluoncv/torch/model_zoo/action_recognition/ircsnv2.py
imports: import torch
  import torch.nn
label_desc: Use image node_id 1 to create a new Bottleneck_IRCSNv2 object from inherited base classes: nn with example: obj = Bottleneck_IRCSNv2(in_planes, planes, stride, temporal_stride, down_sample, expansion, temporal_kernel, use_affine)