class_docstr: Efficient Squeeze-Excitation (SE). The Squeeze-Excitation block is described in:
      *Hu et al., Squeeze-and-Excitation Networks, arXiv:1709.01507*
  This implementation has the same instantiation interface as SE implementation in
  fvcore, and in original mode for training it is just a wrapped version of SE in
  fvcore. Since conv3d in original SE implementation of fvcore is not well supported
  by QNNPACK, here convert() method is implemented which converts class instance into
  a equivalent efficient deployable form.
  
  convert_flag variable is to record whether the SqueezeExcitation instance
  has been converted; SqueezeExcitation is in original form if convert_flag is false,
  while it is in deployable form if convert_flag is true.
class_docstr_tok: ["Efficient","Squeeze-Excitation","(","SE",")",".","The","Squeeze-Excitation","block","is","described","in",":","*","Hu","et","al.",",","Squeeze-and-Excitation","Networks",",","arXiv:1709.01507","*","This","implementation","has","the","same","instantiation","interface","as","SE","implementation","in","fvcore",",","and","in","original","mode","for","training","it","is","just","a","wrapped","version","of","SE","in","fvcore",".","Since","conv3d","in","original","SE","implementation","of","fvcore","is","not","well","supported","by","QNNPACK",",","here","convert","(",")","method","is","implemented","which","converts","class","instance","into","a","equivalent","efficient","deployable","form",".","convert_flag","variable","is","to","record","whether","the","SqueezeExcitation","instance","has","been","converted",";","SqueezeExcitation","is","in","original","form","if","convert_flag","is","false",",","while","it","is","in","deployable","form","if","convert_flag","is","true","."]
code: def forward(self, x) -> torch.Tensor:
      out = self.se(x)
      return out
  
file_path: pytorchvideo/pytorchvideo/layers/accelerator/mobile_cpu/attention.py
imports: from copy import deepcopy
  from typing import Optional
  import torch
  import torch.nn
  from fvcore.nn.squeeze_excitation import SqueezeExcitation
  from pytorchvideo.accelerator.efficient_blocks.efficient_block_base import EfficientBlockBase
  from .conv_helper import _Reshape, _SkipConnectMul
label_desc: Use image node_id 3 for calling the SqueezeExcitation obj's underlying member method code with example usage: obj.forward(x) and returns: out