code: def _make_layer(
      self,
      block,
      in_planes,
      planes,
      blocks,
      stride=1,
      temporal_stride=1,
      expansion=4,
  ):
      if self.use_affine:
          down_bn = Affine(planes * expansion)
      else:
          down_bn = nn.BatchNorm3d(
              planes * expansion,
              track_running_stats=True,
              eps=eps,
              momentum=bn_mmt,
          )
      down_sample = nn.Sequential(
          nn.Conv3d(
              in_planes,
              planes * expansion,
              kernel_size=1,
              stride=(temporal_stride, stride, stride),
              bias=False,
          ),
          down_bn,
      )
      layers = []
      layers.append(
          block(
              in_planes,
              planes,
              stride,
              temporal_stride,
              down_sample,
              expansion,
              temporal_kernel=3,
              use_affine=self.use_affine,
          )
      )
      for _ in range(1, blocks):
          layers.append(
              block(
                  planes * expansion,
                  planes,
                  expansion=expansion,
                  temporal_kernel=3,
                  use_affine=self.use_affine,
              )
          )
  
      return nn.Sequential(*layers)
  
file_path: gluon-cv/gluoncv/torch/model_zoo/action_recognition/ircsnv2.py
imports: import torch
  import torch.nn
label_desc: Use image node_id 2 for calling the ResNet_IRCSNv2 obj's underlying member method code with example usage: obj._make_layer(block, in_planes, planes, blocks, stride, temporal_stride, expansion) and returns: nn