class_docstr: MMT VID model
  Args:
      expert_dims (Dict): dim of each expert model
      vid_bert_config (Any): vid bert config
      same_dim (int): reduce to same dim
      hidden_size (int): hidden size
code: def __init__(
      self,
      expert_dims: Dict = None,
      vid_bert_config: Any = None,
      same_dim: int = 512,
      hidden_size: int = 512,
  ):
      super().__init__()
      self.modalities = list(expert_dims.keys())
      self.same_dim = same_dim
      self.expert_dims = expert_dims
      self.hidden_size = (
          hidden_size  # self.vid_bert_params["hidden_size"]
      )
      self.vid_bert_config = vid_bert_config
      self.vid_bert = BertMMT(vid_bert_config)
  
      self.video_dim_reduce = nn.ModuleDict()
      for mod in self.modalities:
          in_dim = expert_dims[mod]["dim"]
          self.video_dim_reduce[mod] = ReduceDim(
              in_dim, self.hidden_size
          )
  
      if same_dim != self.hidden_size:
          self.video_dim_reduce_out = nn.ModuleDict()
          for mod in self.modalities:
              self.video_dim_reduce_out[mod] = ReduceDim(
                  self.hidden_size, same_dim
              )
  
imports: import os
  import torch
  import torch.nn.functional
  from typing import Any, List, Dict
  from collections import OrderedDict
  from torch import nn
  from towhee.models.mdmmt.bert_mmt import BertMMT
label_desc: Use image node_id 1 to create a new MMTVID object from inherited base classes: nn with example: obj = MMTVID(expert_dims, vid_bert_config, same_dim, hidden_size)