class_docstr: ResNe(x)t_SlowFast backbone.
  Args:
      depth (int): Depth of resnet, from {50, 101, 152}.
      num_stages (int): Resnet stages, normally 4.
      strides (Sequence[int]): Strides of the first block of each stage.
      dilations (Sequence[int]): Dilation of each stage.
      out_indices (Sequence[int]): Output from which stages.
      frozen_stages (int): Stages to be frozen (all param fixed). -1 means
          not freezing any parameters.
      bn_eval (bool): Whether to set BN layers to eval mode, namely, freeze
          running stats (mean and var).
      bn_frozen (bool): Whether to freeze weight and bias of BN layers.
class_docstr_tok: ["ResNe","(","x",")","t_SlowFast","backbone",".","Args",":","depth","(","int",")",":","Depth","of","resnet",",","from","{","50",",","101",",","152","}",".","num_stages","(","int",")",":","Resnet","stages",",","normally","4.","strides","(","Sequence","[","int","]",")",":","Strides","of","the","first","block","of","each","stage",".","dilations","(","Sequence","[","int","]",")",":","Dilation","of","each","stage",".","out_indices","(","Sequence","[","int","]",")",":","Output","from","which","stages",".","frozen_stages","(","int",")",":","Stages","to","be","frozen","(","all","param","fixed",")",".","-1","means","not","freezing","any","parameters",".","bn_eval","(","bool",")",":","Whether","to","set","BN","layers","to","eval","mode",",","namely",",","freeze","running","stats","(","mean","and","var",")",".","bn_frozen","(","bool",")",":","Whether","to","freeze","weight","and","bias","of","BN","layers","."]
docstr: Hybrid forward of I3D_slow network
docstr_tok: ["Hybrid","forward","of","I3D_slow","network"]
code: def hybrid_forward(self, F, x):
      """Hybrid forward of I3D_slow network"""
      x = self.first_stage(x)
      outs = []
      for i, res_layer in enumerate(self.res_layers):
          x = res_layer(x)
          if i in self.out_indices:
              outs.append(x)
      feat = outs[0]
  
      # spatial temporal average
      pooled_feat = self.st_avg(feat)
      x = F.squeeze(pooled_feat, axis=(2, 3, 4))
  
      # segmental consensus
      x = F.reshape(
          x,
          shape=(-1, self.num_segments * self.num_crop, self.feat_dim),
      )
      x = F.mean(x, axis=1)
  
      if self.feat_ext:
          return x
  
      out = self.head(x)
      return out
  
file_path: gluon-cv/gluoncv/model_zoo/action_recognition/i3d_slow.py
imports: from mxnet import init
  from mxnet.context import cpu
  from mxnet.gluon.block import HybridBlock
  from mxnet.gluon import nn
  from mxnet.gluon.nn import BatchNorm
  from .non_local import build_nonlocal_block
label_desc: Use image node_id 3 for calling the ResNet_SlowFast obj's underlying member method code with example usage: obj.hybrid_forward(F, x) and returns: out, x