code: def __init__(self, opt):
      super(NMT, self).__init__()
      self.opt = opt
      self.use_copy = self.opt["decoder_args"]["rnn_decoder_share"][
          "use_copy"
      ]
      assert self.use_copy is False, print("Copy is not fit to NMT")
      self.use_coverage = self.opt["decoder_args"]["rnn_decoder_share"][
          "use_coverage"
      ]
      self._build_device(self.opt)
      self._build_logger(self.opt["log_dir"])
      self._build_model()
      self._build_dataloader()
      self._build_evaluation()
  
imports: import os
  import resource
  import numpy
  import torch
  from torch.utils.data import DataLoader
  from torch.utils.tensorboard import SummaryWriter
  from graph4nlp.pytorch.models.graph2seq import Graph2Seq
  from graph4nlp.pytorch.modules.evaluation import BLEU
  from args import get_args
  from dataset import IWSLT14Dataset
  from utils import get_log, wordid2str
label_desc: Use image node_id 1 to create a new NMT object  with example: obj = NMT(opt)