class_docstr: Test multiobjective models.
class_docstr_tok: ["Test","multiobjective","models","."]
code: def test_short_multiobj_training(self):
      opt = {
          "model": "projects.light_whoami.agents.multi_objective:MultiObjectiveGeneratorAgent",
          "n_multiobjective_heads": 4,
          "n_multiobjective_layers": 2,
          **COMMON_OPT,
          "task": "projects.light_whoami.task.agents:MultiObjectiveTeacher",
      }
      opt.pop("num_examples")
      opt.update(TRAIN_COMMON_OPT)
      for choice in [
          "decoder_final_layer",
          "encoder_final_layer",
          "encoder_and_decoder",
      ]:
          opt["multiobjective_latent_representation"] = choice
          testing_utils.train_model(opt)
  
imports: import unittest
  from parlai.core.message import Message
  from parlai.core.params import ParlaiParser, Opt
  from parlai.core.torch_ranker_agent import TorchRankerAgent
  import parlai.utils.testing
  from projects.light_whoami.agents import RPA_RERANKER, RPA_RERANKER_AUTO_EXPANDED, VANILLA_128, VANILLA_1024, UL_128, UL_1024, MULTIOBJECTIVE, PROFILE_EXPANDED_128, PROFILE_EXPANDED_1024, AUTO_EXPANDED_1024, EXPANDED_AND_MULTIOBJECTIVE_1024, TEST_RPA_RERANKER
label_desc: Use image node_id 2 for calling the TestMultiobjective obj's underlying member method code with example usage: obj.test_short_multiobj_training() without return types