class_docstr: Basic transformation: 3x3x3 group conv, 3x3x3 group conv
docstr: Args:
      dim_in (int): the channel dimensions of the input.
      dim_out (int): the channel dimension of the output.
      temporal_stride (int): the temporal stride of the bottleneck.
      spatial_stride (int): the spatial_stride of the bottleneck.
      groups (int): number of groups for the convolution.
      inplace_relu (bool): calculate the relu on the original input
          without allocating new memory.
      bn_eps (float): epsilon for batch norm.
      bn_mmt (float): momentum for batch norm. Noted that BN momentum in
          PyTorch = 1 - BN momentum in Caffe2.
docstr_tok: ["Args",":","dim_in","(","int",")",":","the","channel","dimensions","of","the","input",".","dim_out","(","int",")",":","the","channel","dimension","of","the","output",".","temporal_stride","(","int",")",":","the","temporal","stride","of","the","bottleneck",".","spatial_stride","(","int",")",":","the","spatial_stride","of","the","bottleneck",".","groups","(","int",")",":","number","of","groups","for","the","convolution",".","inplace_relu","(","bool",")",":","calculate","the","relu","on","the","original","input","without","allocating","new","memory",".","bn_eps","(","float",")",":","epsilon","for","batch","norm",".","bn_mmt","(","float",")",":","momentum","for","batch","norm",".","Noted","that","BN","momentum","in","PyTorch","=","1","-","BN","momentum","in","Caffe2","."]
code: def __init__(
      self,
      dim_in,
      dim_out,
      temporal_stride,
      spatial_stride,
      groups,
      inplace_relu=True,
      bn_eps=1e-5,
      bn_mmt=0.1,
      **kwargs,
  ):
      """
      Args:
          dim_in (int): the channel dimensions of the input.
          dim_out (int): the channel dimension of the output.
          temporal_stride (int): the temporal stride of the bottleneck.
          spatial_stride (int): the spatial_stride of the bottleneck.
          groups (int): number of groups for the convolution.
          inplace_relu (bool): calculate the relu on the original input
              without allocating new memory.
          bn_eps (float): epsilon for batch norm.
          bn_mmt (float): momentum for batch norm. Noted that BN momentum in
              PyTorch = 1 - BN momentum in Caffe2.
      """
      super(BasicR2Plus1DTransformation, self).__init__(
          dim_in,
          dim_out,
          temporal_stride,
          spatial_stride,
          groups,
          inplace_relu=inplace_relu,
          bn_eps=bn_eps,
          bn_mmt=bn_mmt,
      )
  
imports: import torch.nn
  from .r2plus1_util import r2plus1_unit
label_desc: Use image node_id 1 to create a new BasicR2Plus1DTransformation object from inherited base classes: BasicTransformation with example: obj = BasicR2Plus1DTransformation(dim_in, dim_out, temporal_stride, spatial_stride, groups, inplace_relu, bn_eps, bn_mmt)