class_docstr: This class implements an X3D network for classification with efficient blocks.
  Args:
      num_classes (int): Number of classes in classification.
      dropout (float): Dropout rate used for training the network.
      expansion (str): Expansion for X3D. Possible options: 'XS', 'S', 'M', 'L'.
      head_act (str): The activation function to be applied in head, should be a key
          in dict supported_act_functions (see activation_functions.py for more info
          about supported activations).
      enable_head (bool): Whether X3D model provides head.
class_docstr_tok: ["This","class","implements","an","X3D","network","for","classification","with","efficient","blocks",".","Args",":","num_classes","(","int",")",":","Number","of","classes","in","classification",".","dropout","(","float",")",":","Dropout","rate","used","for","training","the","network",".","expansion","(","str",")",":","Expansion","for","X3D",".","Possible","options",":","'XS","'",",","'S","'",",","'M","'",",","'","L","'",".","head_act","(","str",")",":","The","activation","function","to","be","applied","in","head",",","should","be","a","key","in","dict","supported_act_functions","(","see","activation_functions.py","for","more","info","about","supported","activations",")",".","enable_head","(","bool",")",":","Whether","X3D","model","provides","head","."]
code: def forward(self, x):
      x = self.s1(x)
      x = self.s2(x)
      x = self.s3(x)
      x = self.s4(x)
      x = self.s5(x)
      if self.enable_head:
          x = self.head(x)
          # (N, C, T, H, W) -> (N, T, H, W, C).
          x = x.permute((0, 2, 3, 4, 1))
          if hasattr(self, "dropout"):
              x = self.dropout(x)
          x = self.projection(x)
          # Performs fully convlutional inference.
          if not self.training:
              x = self.act(x)
              x = x.mean([1, 2, 3])
          x = x.view(x.shape[0], -1)
  
      return x
  
file_path: pytorchvideo/pytorchvideo/models/accelerator/mobile_cpu/efficient_x3d.py
imports: from collections import OrderedDict
  import torch.nn
  from pytorchvideo.layers.accelerator.mobile_cpu.activation_functions import supported_act_functions
  from pytorchvideo.layers.accelerator.mobile_cpu.convolutions import Conv3d5x1x1BnAct, Conv3dPwBnAct, Conv3dTemporalKernel1BnAct
  from pytorchvideo.layers.accelerator.mobile_cpu.fully_connected import FullyConnected
  from pytorchvideo.layers.accelerator.mobile_cpu.pool import AdaptiveAvgPool3dOutSize1
  from .residual_blocks import X3dBottleneckBlock
label_desc: Use image node_id 2 for calling the EfficientX3d obj's underlying member method code with example usage: obj.forward(x) and returns: x