コード例 #1
0
 def add_world_args(
     self,
     task: str,
     interactive_task: Optional[str],
     selfchat_task: Optional[str],
     partial: Opt,
 ):
     """
     Add arguments specific to the world.
     """
     world_class = load_world_module(
         task, interactive_task=interactive_task, selfchat_task=selfchat_task
     )
     if world_class is not None and hasattr(world_class, 'add_cmdline_args'):
         try:
             world_class.add_cmdline_args(self, partial)
         except argparse.ArgumentError:
             # already added
             pass
         except TypeError:
             raise TypeError(
                 f"World '{task}' appears to have signature "
                 "add_cmdline_args(argparser) but we have updated the signature "
                 "to add_cmdline_args(argparser, partial_opt). For details, see "
                 "https://github.com/facebookresearch/ParlAI/pull/3328."
             )
コード例 #2
0
ファイル: params.py プロジェクト: aaronmueller/for-submission
 def add_world_args(self, task, interactive_task):
     """
     Add arguments specific to the world.
     """
     world_class = load_world_module(task, interactive_task)
     if world_class is not None and hasattr(world_class, 'add_cmdline_args'):
         try:
             world_class.add_cmdline_args(self)
         except argparse.ArgumentError:
             # already added
             pass
コード例 #3
0
ファイル: worlds.py プロジェクト: lpschaub/ParlAI
def create_task_world(opt: Opt, user_agents, default_world=None):
    """
    Instantiate a world with the supplied options and user agents.

    (A world factory.)
    """
    task_agents = _create_task_agents(opt)
    world_class = load_world_module(
        opt['task'],
        opt.get('interactive_task', False),
        len(user_agents + task_agents),
        default_world=default_world,
    )

    return world_class(opt, task_agents + user_agents)
コード例 #4
0
 def test_load_dialog_partner_world(self):
     world_module = load_world_module(OPTIONS['task'].split(':')[0],
                                      interactive_task=False,
                                      num_agents=2)
     self.assertEqual(world_module, DialogPartnerWorld)
コード例 #5
0
 def test_load_interactive_world(self):
     world_module = load_world_module(OPTIONS['task'].split(':')[0],
                                      interactive_task=True)
     self.assertEqual(world_module, c2interactive)