code: def create_model(
      model_name: str = "movineta0",
      pretrained: bool = False,
      causal: bool = False,
      device: str = None,
  ):
      if device is None:
          device = "cuda" if torch.cuda.is_available() else "cpu"
      if model_name == "movineta0":
          model_config = _C.MODEL.MoViNetA0
      elif model_name == "movineta1":
          model_config = _C.MODEL.MoViNetA1
      elif model_name == "movineta2":
          model_config = _C.MODEL.MoViNetA2
      elif model_name == "movineta3":
          model_config = _C.MODEL.MoViNetA3
      elif model_name == "movineta4":
          model_config = _C.MODEL.MoViNetA4
      elif model_name == "movineta5":
          model_config = _C.MODEL.MoViNetA5
      else:
          raise AttributeError(f"Invalid model_name {model_name}.")
      model = MoViNet(
          cfg=model_config,
          causal=causal,
          pretrained=pretrained,
          num_classes=600,
          conv_type="3d",
          tf_like=False,
      )
      model.to(device)
      return model
  
imports: from collections import OrderedDict
  import torch
  import torch.nn.functional
  from torch import nn, Tensor
  from towhee.models.movinet.movinet_block import ConvBlock3D, BasicBneck
  from towhee.models.utils.causal_module import CausalModule
  from towhee.models.layers.activations import Swish
  from towhee.models.layers.temporal_cg_avgpool3d import TemporalCGAvgPool3D
  from towhee.models.movinet.config import _C
label_desc: Use image node_id 1 for calling a global function with example usage: create_model(model_name, pretrained, causal, device) and returns: model