class_docstr: Lip Reading / Visual Speech Recognition (VSR) ResNet Front-End Network
  
  Paper:
  'Audio-Visual Efficient Conformer for Robust Speech Recognition' by Burchi and Timofte
  https://arxiv.org/abs/2301.01456
  
  Args:
      in_channels: number of inputs video channels, 1 for grayscale and 3 for RGB
      model: model size in ["ResNet18", "ResNet34", "ResNet50", "ResNet101", "ResNet152"]
      dim_output: output feature dimension for linear projection after spacial average pooling
      out_channels_first: Whether outputs should have channels_first format (Batch, Dout, Time) or channels_last (Batch, Time, Dout)
class_docstr_tok: ["Lip","Reading","\/","Visual","Speech","Recognition","(","VSR",")","ResNet","Front-End","Network","Paper",":","'Audio-Visual","Efficient","Conformer","for","Robust","Speech","Recognition","'","by","Burchi","and","Timofte","https",":","\/\/arxiv.org\/abs\/2301.01456","Args",":","in_channels",":","number","of","inputs","video","channels",",","1","for","grayscale","and","3","for","RGB","model",":","model","size","in","[","``","ResNet18","''",",","``","ResNet34","''",",","``","ResNet50","''",",","``","ResNet101","''",",","``","ResNet152","''","]","dim_output",":","output","feature","dimension","for","linear","projection","after","spacial","average","pooling","out_channels_first",":","Whether","outputs","should","have","channels_first","format","(","Batch",",","Dout",",","Time",")","or","channels_last","(","Batch",",","Time",",","Dout",")"]
code: def forward(self, input_signal, length):
      # Front-End Network (Batch, Din, Time, Height, Width) -> (Batch, Dout, Time)
      input_signal = self.front_end(input_signal)
  
      # Transpose to channels_last format (Batch, Dout, Time) -> (Batch, Time, Dout)
      if not self.out_channels_first:
          input_signal = input_signal.transpose(1, 2)
  
      return input_signal, length
  
file_path: NeMo/nemo/collections/multimodal/speech_cv/modules/resnet_video_front_end.py
imports: from collections import OrderedDict
  from torch import nn
  from nemo.collections.multimodal.speech_cv.parts.submodules.resnet import ResNet
  from nemo.core.classes.module import NeuralModule
  from nemo.core.neural_types import LengthsType, NeuralType, VideoSignal
label_desc: Use image node_id 4 for calling the ResNetVideoFrontEnd obj's underlying member method code with example usage: obj.forward(input_signal, length) and returns: input_signal,  length