code: def se_r3d(
      attention, rgb=False, flow=False, pretrained=False, progress=True
  ):
      """Get R3D_18 models with SELayers for different inputs.
  
      Args:
          attention (string): the name of the SELayer.
          rgb (bool): choose if RGB model is needed. (Default: False)
          flow (bool): choose if optical flow model is needed. (Default: False)
          pretrained (bool): choose if pretrained parameters are used. (Default: False)
          progress (bool, optional): whether or not to display a progress bar to stderr. (Default: True)
  
      Returns:
          models (dictionary): A dictionary contains models for RGB and optical flow.
      """
  
      r3d_rgb = r3d_flow = None
      if rgb:
          r3d_rgb = se_r3d_18_rgb(
              attention=attention,
              pretrained=pretrained,
              progress=progress,
          )
      if flow:
          r3d_flow = se_r3d_18_flow(
              attention=attention,
              pretrained=pretrained,
              progress=progress,
          )
      models = {"rgb": r3d_rgb, "flow": r3d_flow}
      return models
  
file_path: pykale/kale/embed/video_se_res3d.py
imports: from torch.hub import load_state_dict_from_url
  from kale.embed.video_res3d import BasicBlock, BasicFLowStem, BasicStem, Conv2Plus1D, Conv3DNoTemporal, Conv3DSimple, R2Plus1dFlowStem, R2Plus1dStem, VideoResNet
  from kale.embed.video_selayer import get_selayer, SELayerC, SELayerT
label_desc: Use image node_id 9 for calling a global function with example usage: se_r3d(attention, rgb, flow, pretrained, progress) and returns: models