code: def make_universal_model(
      src_vocab, tgt_vocab, dim_model=512, dim_ff=2048, h=8, dropout=0.1
  ):
      c = copy.deepcopy
      attn = MultiHeadAttention(h, dim_model)
      ff = PositionwiseFeedForward(dim_model, dim_ff)
      pos_enc = PositionalEncoding(dim_model, dropout)
      time_enc = PositionalEncoding(dim_model, dropout)
      encoder = UEncoder(
          EncoderLayer((dim_model), c(attn), c(ff), dropout)
      )
      decoder = UDecoder(
          DecoderLayer((dim_model), c(attn), c(attn), c(ff), dropout)
      )
      src_embed = Embeddings(src_vocab, dim_model)
      tgt_embed = Embeddings(tgt_vocab, dim_model)
      generator = Generator(dim_model, tgt_vocab)
      model = UTransformer(
          encoder,
          decoder,
          src_embed,
          tgt_embed,
          pos_enc,
          time_enc,
          generator,
          h,
          dim_model // h,
      )
      # xavier init
      for p in model.parameters():
          if p.dim() > 1:
              INIT.xavier_uniform_(p)
      return model
  
imports: from .attention import *
  from .layers import *
  from .functions import *
  from .embedding import *
  import dgl.function
  import torch
  import torch.nn.init
label_desc: Use image node_id 1 for calling a global function with example usage: make_universal_model(src_vocab, tgt_vocab, dim_model, dim_ff, h, dropout) and returns: model