class_docstr: Implements Conv3d + Bn + Activation where Conv3d has temporal kernel of 1.
  The conv layer has padding[0] = 0, stride[0] = 1, dilation[0] = 1.
  
                                Input
                                  |
                                  ↓
                              conv3d (1xkxk)
                                  ↓
                              BatchNorm (optional)
                                  ↓
                              Activation
  
  Current implementation of this layer in QNNPACK is reasonably efficient
  (not as efficient as Conv3dPwBnAct for 1x1x1 kernel).
  Args:
      in_channels (int): number of input channels for conv3d 1x1x1.
      out_channels (int): number of output channels for conv3d 1x1x1.
      bias (bool): if true, use bias for conv.
      groups (int): number of groups for conv.
      spstial_kernel (int): spatial kernel for conv3d.
      spstial_stride (int): spatial stride for conv3d.
      spatial_padding (int): spatial padding for conv3d.
      spatial_dilation (int): spatial dilation for conv3d.
      activation (str): applies selected activation from supported_act_functions.
          See activation_functions.py for more info about supported activations.
          Currently ReLU ('relu'), Swish ('swish'), Hardswish ('hswish'), Identity
          ('identity') are supported.
      use_bn (bool): if true, use batchnorm.
      norm_eps (float): epsilon for batchnorm.
      norm_momentum (float): momentum for batchnorm.
class_docstr_tok: ["Implements","Conv3d","+","Bn","+","Activation","where","Conv3d","has","temporal","kernel","of","1",".","The","conv","layer","has","padding","[","0","]","=","0",",","stride","[","0","]","=","1",",","dilation","[","0","]","=","1",".","Input","|","\u2193","conv3d","(","1xkxk",")","\u2193","BatchNorm","(","optional",")","\u2193","Activation","Current","implementation","of","this","layer","in","QNNPACK","is","reasonably","efficient","(","not","as","efficient","as","Conv3dPwBnAct","for","1x1x1","kernel",")",".","Args",":","in_channels","(","int",")",":","number","of","input","channels","for","conv3d","1x1x1",".","out_channels","(","int",")",":","number","of","output","channels","for","conv3d","1x1x1",".","bias","(","bool",")",":","if","true",",","use","bias","for","conv",".","groups","(","int",")",":","number","of","groups","for","conv",".","spstial_kernel","(","int",")",":","spatial","kernel","for","conv3d",".","spstial_stride","(","int",")",":","spatial","stride","for","conv3d",".","spatial_padding","(","int",")",":","spatial","padding","for","conv3d",".","spatial_dilation","(","int",")",":","spatial","dilation","for","conv3d",".","activation","(","str",")",":","applies","selected","activation","from","supported_act_functions",".","See","activation_functions.py","for","more","info","about","supported","activations",".","Currently","ReLU","(","'relu","'",")",",","Swish","(","'swish","'",")",",","Hardswish","(","'hswish","'",")",",","Identity","(","'identity","'",")","are","supported",".","use_bn","(","bool",")",":","if","true",",","use","batchnorm",".","norm_eps","(","float",")",":","epsilon","for","batchnorm",".","norm_momentum","(","float",")",":","momentum","for","batchnorm","."]
code: def forward(self, x):
      x = self.kernel(x)
      return x
  
imports: import logging
  from collections import OrderedDict
  from typing import Tuple
  import torch
  import torch.nn
  from pytorchvideo.accelerator.efficient_blocks.efficient_block_base import EfficientBlockBase
  from .activation_functions import supported_act_functions
  from .conv_helper import _Conv3dTemporalKernel1Decomposed, _Conv3dTemporalKernel3Decomposed, _Conv3dTemporalKernel5Decomposed, _Reshape
label_desc: Use image node_id 3 for calling the Conv3dTemporalKernel1BnAct obj's underlying member method code with example usage: obj.forward(x) and returns: x