code: def build_model(self, args):
      model = models.build_model(args, self)
      self.model = model
      if not isinstance(model, FairseqMultiModel):
          raise ValueError(
              "PytorchTranslateSemiSupervised task requires a FairseqMultiModel "
              "architecture"
          )
      forward_pair = "-".join([self.source_lang, self.target_lang])
      backward_pair = "-".join([self.target_lang, self.source_lang])
      self.forward_model = model.models[forward_pair]
      self.backward_model = model.models[backward_pair]
      return model
  
imports: import json
  from collections import OrderedDict
  from typing import Optional
  from fairseq import models
  from fairseq.data import BacktranslationDataset, LanguagePairDataset, RoundRobinZipDatasets, TransformEosDataset
  from fairseq.models import FairseqMultiModel
  from fairseq.tasks import register_task
  from pytorch_translate import beam_decode, constants, rnn
  from pytorch_translate.data import data, dictionary, utils, weighted_data
  from pytorch_translate.tasks.pytorch_translate_multi_task import PyTorchTranslateMultiTask
  from pytorch_translate.tasks.pytorch_translate_task import PytorchTranslateTask
label_desc: Use image node_id 7 for calling the PytorchTranslateSemiSupervised obj's underlying member method code with example usage: obj.build_model(args) and returns: model