class_docstr: Conv3dResNet module
class_docstr_tok: ["Conv3dResNet","module"]
docstr: __init__.
  :param backbone_type: str, the type of a visual front-end.
  :param relu_type: str, activation function used in an audio front-end.
docstr_tok: ["__init__",".",":","param","backbone_type",":","str",",","the","type","of","a","visual","front-end",".",":","param","relu_type",":","str",",","activation","function","used","in","an","audio","front-end","."]
code: def __init__(self, backbone_type="resnet", relu_type="swish"):
      """__init__.
      :param backbone_type: str, the type of a visual front-end.
      :param relu_type: str, activation function used in an audio front-end.
      """
      super(Conv3dResNet, self).__init__()
  
      self.backbone_type = backbone_type
  
      self.frontend_nout = 64
      self.trunk = ResNet(
          BasicBlock,
          [2, 2, 2, 2],
          relu_type=relu_type,
      )
  
      # -- frontend3D
      if relu_type == "relu":
          frontend_relu = nn.ReLU(True)
      elif relu_type == "prelu":
          frontend_relu = nn.PReLU(self.frontend_nout)
      elif relu_type == "swish":
          frontend_relu = nn.SiLU(inplace=True)
  
      self.frontend3D = nn.Sequential(
          nn.Conv3d(
              in_channels=1,
              out_channels=self.frontend_nout,
              kernel_size=(5, 7, 7),
              stride=(1, 2, 2),
              padding=(2, 3, 3),
              bias=False,
          ),
          nn.BatchNorm3d(self.frontend_nout),
          frontend_relu,
          nn.MaxPool3d(
              kernel_size=(1, 3, 3),
              stride=(1, 2, 2),
              padding=(0, 1, 1),
          ),
      )
  
file_path: audio/examples/avsr/models/resnet.py
imports: import torch.nn
label_desc: Use image node_id 1 to create a new Conv3dResNet object from inherited base classes: nn with example: obj = Conv3dResNet(backbone_type, relu_type)