class_docstr: Basic transformation: Tx3x3, 1x3x3, where T is the size of temporal kernel.
class_docstr_tok: ["Basic","transformation",":","Tx3x3",",","1x3x3",",","where","T","is","the","size","of","temporal","kernel","."]
docstr: Args:
      dim_in (int): the channel dimensions of the input.
      dim_out (int): the channel dimension of the output.
      temp_kernel_size (int): the temporal kernel sizes of the first
          convolution in the basic block.
      stride (int): the stride of the bottleneck.
      dim_inner (None): the inner dimension would not be used in
          BasicTransform.
      num_groups (int): number of groups for the convolution. Number of
          group is always 1 for BasicTransform.
      stride_1x1 (None): stride_1x1 will not be used in BasicTransform.
      inplace_relu (bool): if True, calculate the relu on the original
          input without allocating new memory.
      eps (float): epsilon for batch norm.
      bn_mmt (float): momentum for batch norm. Noted that BN momentum in
          PyTorch = 1 - BN momentum in Caffe2.
      norm_module (nn.Module): nn.Module for the normalization layer. The
          default is nn.BatchNorm3d.
docstr_tok: ["Args",":","dim_in","(","int",")",":","the","channel","dimensions","of","the","input",".","dim_out","(","int",")",":","the","channel","dimension","of","the","output",".","temp_kernel_size","(","int",")",":","the","temporal","kernel","sizes","of","the","first","convolution","in","the","basic","block",".","stride","(","int",")",":","the","stride","of","the","bottleneck",".","dim_inner","(","None",")",":","the","inner","dimension","would","not","be","used","in","BasicTransform",".","num_groups","(","int",")",":","number","of","groups","for","the","convolution",".","Number","of","group","is","always","1","for","BasicTransform",".","stride_1x1","(","None",")",":","stride_1x1","will","not","be","used","in","BasicTransform",".","inplace_relu","(","bool",")",":","if","True",",","calculate","the","relu","on","the","original","input","without","allocating","new","memory",".","eps","(","float",")",":","epsilon","for","batch","norm",".","bn_mmt","(","float",")",":","momentum","for","batch","norm",".","Noted","that","BN","momentum","in","PyTorch","=","1","-","BN","momentum","in","Caffe2",".","norm_module","(","nn.Module",")",":","nn.Module","for","the","normalization","layer",".","The","default","is","nn.BatchNorm3d","."]
code: def __init__(
      self,
      dim_in,
      dim_out,
      temp_kernel_size,
      stride,
      dim_inner=None,
      num_groups=1,
      stride_1x1=None,
      inplace_relu=True,
      eps=1e-5,
      bn_mmt=0.1,
      dilation=1,
      norm_module=nn.BatchNorm3d,
      block_idx=0,
  ):
      """
      Args:
          dim_in (int): the channel dimensions of the input.
          dim_out (int): the channel dimension of the output.
          temp_kernel_size (int): the temporal kernel sizes of the first
              convolution in the basic block.
          stride (int): the stride of the bottleneck.
          dim_inner (None): the inner dimension would not be used in
              BasicTransform.
          num_groups (int): number of groups for the convolution. Number of
              group is always 1 for BasicTransform.
          stride_1x1 (None): stride_1x1 will not be used in BasicTransform.
          inplace_relu (bool): if True, calculate the relu on the original
              input without allocating new memory.
          eps (float): epsilon for batch norm.
          bn_mmt (float): momentum for batch norm. Noted that BN momentum in
              PyTorch = 1 - BN momentum in Caffe2.
          norm_module (nn.Module): nn.Module for the normalization layer. The
              default is nn.BatchNorm3d.
      """
      super(BasicTransform, self).__init__()
      self.temp_kernel_size = temp_kernel_size
      self._inplace_relu = inplace_relu
      self._eps = eps
      self._bn_mmt = bn_mmt
      self._construct(dim_in, dim_out, stride, dilation, norm_module)
  
imports: import torch
  import torch.nn
  from slowfast.models.common import drop_path
  from slowfast.models.nonlocal_helper import Nonlocal
  from slowfast.models.operators import SE, Swish
label_desc: Use image node_id 1 to create a new BasicTransform object from inherited base classes: nn with example: obj = BasicTransform(dim_in, dim_out, temp_kernel_size, stride, dim_inner, num_groups, stride_1x1, inplace_relu, eps, bn_mmt, dilation, norm_module, block_idx)