code: def __init__(self, video_modality_dim, text_dim):
      super(MEE, self).__init__()
  
      m = list(video_modality_dim.keys())
  
      self.m = m
  
      self.video_GU = nn.ModuleList(
          [
              Gated_Embedding_Unit(
                  video_modality_dim[m[i]][0],
                  video_modality_dim[m[i]][1],
              )
              for i in range(len(m))
          ]
      )
  
      self.text_GU = nn.ModuleList(
          [
              Gated_Embedding_Unit(
                  text_dim, video_modality_dim[m[i]][1]
              )
              for i in range(len(m))
          ]
      )
  
      self.moe_fc = nn.Linear(text_dim, len(video_modality_dim))
  
imports: from torch.autograd import Variable
  import torch.nn
  import torch.nn.functional
  import torch
  from loupe import NetVLAD
  import numpy
  from torch.autograd import Function
label_desc: Use image node_id 1 to create a new MEE object from inherited base classes: nn with example: obj = MEE(video_modality_dim, text_dim)