code: def build_model(self):
      self.model = EndToEndModel(self.opt, self.dict)
      if self.opt["embedding_type"] != "random":
          self._copy_embeddings(
              self.model.embeddings.weight, self.opt["embedding_type"]
          )
      if self.use_cuda:
          self.model = self.model.cuda()
      return self.model
  
imports: from typing import Optional
  from parlai.core.params import ParlaiParser
  from parlai.core.opt import Opt
  from itertools import chain
  from functools import lru_cache
  import torch
  import numpy
  from parlai.utils.torch import padded_tensor
  from parlai.utils.misc import round_sigfigs
  from parlai.agents.transformer.transformer import TransformerGeneratorAgent
  from .modules import EndToEndModel
  from parlai.tasks.wizard_of_wikipedia.agents import TOKEN_KNOWLEDGE
label_desc: Use image node_id 9 for calling the EndToEndAgent obj's underlying member method code with example usage: obj.build_model() and returns: self