class_docstr: X3D's 3D stem module.
  Performs a spatial followed by a depthwise temporal Convolution, BN, and Relu following by a
      spatiotemporal pooling.
class_docstr_tok: ["X3D","'s","3D","stem","module",".","Performs","a","spatial","followed","by","a","depthwise","temporal","Convolution",",","BN",",","and","Relu","following","by","a","spatiotemporal","pooling","."]
code: def _construct_stem(self, dim_in, dim_out, norm_module):
      self.conv_xy = nn.Conv3d(
          dim_in,
          dim_out,
          kernel_size=(1, self.kernel[1], self.kernel[2]),
          stride=(1, self.stride[1], self.stride[2]),
          padding=(0, self.padding[1], self.padding[2]),
          bias=False,
      )
      self.conv = nn.Conv3d(
          dim_out,
          dim_out,
          kernel_size=(self.kernel[0], 1, 1),
          stride=(self.stride[0], 1, 1),
          padding=(self.padding[0], 0, 0),
          bias=False,
          groups=dim_out,
      )
  
      self.bn = norm_module(
          num_features=dim_out, eps=self.eps, momentum=self.bn_mmt
      )
      self.relu = nn.ReLU(self.inplace_relu)
  
imports: import torch
  import torch.nn
label_desc: Use image node_id 2 for calling the X3DStem obj's underlying member method code with example usage: obj._construct_stem(dim_in, dim_out, norm_module) without return types