Beispiel #1
0
    def define_jobs_context(self, context):            
        # let's convert all logs
        for id_explog in Exp09.logs_to_learn:
            self.call_recursive(context, 'convert',
                       RS2B, ['--config', self.get_config_dirs()[0],  # XXX
                              '--dummy',
                              'convert-one',
                              '--boot_root', self.get_boot_root(),
                              '--id_explog', id_explog,
                              '--id_adapter', Exp09.id_adapter,
                              '--id_robot', Exp09.id_robot,
                              ])
 
        # Everything before needs to be done before we do the rest
        context.checkpoint('conversion')
        
        for c, id_agent in iterate_context_agents(context, Exp09.agents):
            logs = Exp09.agents[id_agent]
            
            c.subtask(LearnLog, agent=id_agent, robot=Exp09.id_robot, episodes=logs,
                                interval_publish=5000)

            c.checkpoint('learning')
            
            c.subtask(PublishLearningResult, agent=id_agent, robot=Exp09.id_robot)
        
            for cc, id_episode in iterate_context_episodes(c, Exp09.test_episodes):
                cc.subtask(ServoField,
                           id_robot=Exp09.id_robot, id_agent=id_agent, id_episode=id_episode,
                           variation='default')
Beispiel #2
0
    def define_jobs_context(self, context):    
        id_agent = 'exp04_bdse1'
        
        id_robot = 'exp05_uA_xy'
        id_convert_job = 'exp05_uA_xy'
          
        jobs_convert = self.call_recursive(context, 'convert',
                       RS2B, ['--config', self.get_config_dirs()[0],  # XXX
                              '--dummy',
                              
                              'convert',
                              '--boot_root', self.get_boot_root(),
                              '--jobs', id_convert_job,
                              ])
 
        jobs_learn = context.subtask(LearnLog, agent=id_agent, robot=id_robot,
                                     interval_publish=5000,
                                     extra_dep=jobs_convert.all_jobs())

        test_episodes = [
            'unicornA_tran1_2013-04-12-23-34-08'
        ]
        
        for c, id_episode in iterate_context_episodes(context, test_episodes):
            c.subtask(ServoField, id_robot=id_robot, id_agent=id_agent,
                                  variation='default',
                                  id_episode=id_episode,
                        extra_dep=jobs_learn.all_jobs())
Beispiel #3
0
    def define_jobs_context(self, context):    
        id_agent = 'exp10_bdser1'
        
        id_robot = 'uA_b1_tw_cf'
        id_adapter = 'uA_b1_tw_cf'
        explogs_learn = good_logs_cf
        explogs_test = ['unicornA_tran1_2013-04-12-23-34-08']
        
        explogs_convert = explogs_learn + explogs_test
        for c, id_explog in iterate_context_explogs(context, explogs_convert):
            c.subtask(RS2BConvertOne,
                        boot_root=self.get_boot_root(),
                        id_explog=id_explog,
                        id_adapter=id_adapter,
                        id_robot=id_robot)
         
        context.checkpoint('conversion')

        context.subtask(LearnLog, agent=id_agent, robot=id_robot, interval_publish=5000)

        context.checkpoint('learning')
        
        context.subtask(PublishLearningResult, agent=id_agent, robot=id_robot)

         
        test_episodes = explogs_test
        for c, id_episode in iterate_context_episodes(context, test_episodes):
            c.subtask(ServoField, id_robot=id_robot, id_agent=id_agent,
                                  variation='default', id_episode=id_episode)
Beispiel #4
0
 def define_jobs_context(self, context):    
     
     id_adapter = 'unicornA_base1_tw_hlhr_sane_s4'
     
     
     id_agent = 'bdse1'
     id_robot = 'uA_b1_tw_hlhr_s4'
         
     variation = 'default'
     
     test_episodes = [ 
         'unicornA_tran1_2013-04-12-23-34-08'
     ]
     
     for c, id_episode in iterate_context_episodes(context, test_episodes):               
         id_explog = id_episode
         jobs_convert = self.call_recursive(c, 'convert',
                                RS2B, ['--config', self.get_config_dirs()[0],  # XXX
                                       '--dummy',
                                       
                                       'convert-one',
                                       '--boot_root', self.get_boot_root(),
                                       '--id_explog', id_explog,
                                       '--id_adapter', id_adapter,
                                       '--id_robot', id_robot])
     
         self.call_recursive(c, 'servo_field',
                         ServoField, dict(id_robot=id_robot,
                                         id_agent=id_agent,
                                          variation=variation,
                                          id_episode=id_episode),
                         extra_dep=jobs_convert)
Beispiel #5
0
    def define_jobs_context(self, context):    
        id_agent = 'exp10_bdser1'
        
        id_robot = 'exp12_uA_b1_tw_cf'
        id_adapter = 'uA_b1_tw_cf'
        
        explogs_learn = good_logs_cf
        explogs_test = ['unicornA_tran1_2013-04-12-23-34-08']        
        explogs_convert = explogs_learn + explogs_test

        agent = None
        for c, id_explog in iterate_context_explogs(context, explogs_convert):
            episodes = c.subtask(RS2BConvertOne,
                                   boot_root=self.get_boot_root(),
                                   id_explog=id_explog,
                                   id_adapter=id_adapter,
                                   id_robot=id_robot)
        
            if id_explog in explogs_learn:
                agent_i = c.subtask(LearnLogNoSave, agent=id_agent, robot=id_robot,
                                    episodes=episodes)
                if agent is None:
                    agent = agent_i
                else:
                    agent = context.comp(merge_agents, agent, agent_i) 
            
        id_episodes = explogs_learn
        data_central = self.get_data_central()
        context.comp(save_state, data_central, id_agent, id_robot, agent, id_episodes)
            

        context.checkpoint('learning')
        
        context.subtask(PublishLearningResult, agent=id_agent, robot=id_robot)

         
        test_episodes = [
            'unicornA_tran1_2013-04-12-23-34-08'
        ]
         
        for c, id_episode in iterate_context_episodes(context, test_episodes):
            c.subtask(ServoField, id_robot=id_robot, id_agent=id_agent,
                                  variation='default', id_episode=id_episode)
Beispiel #6
0
    def define_jobs_context(self, cc):    
        id_agent = 'exp13_bdser1'
        id_robot = 'exp13_uA_b1_tw_cf'
        id_adapter = 'uA_b1_tw_cf_strip'
        explogs_learn = good_logs_cf
        explogs_test = ['unicornA_tran1_2013-04-12-23-34-08']
        
        explogs_convert = explogs_learn + explogs_test
        for c, id_explog in iterate_context_explogs(cc, explogs_convert):
            c.subtask(RS2BConvertOne,
                        boot_root=self.get_boot_root(),
                        id_explog=id_explog,
                        id_adapter=id_adapter,
                        id_robot=id_robot)
         
        cc.checkpoint('conversion')

        cc.subtask(LearnLog, agent=id_agent, robot=id_robot, interval_publish=5000)

        cc.checkpoint('learning')
        
        cc.subtask(PublishLearningResult, agent=id_agent, robot=id_robot)

         
        test_episodes = explogs_test
        for c, id_episode in iterate_context_episodes(cc, test_episodes):
            c.subtask(ServoField, id_robot=id_robot, id_agent=id_agent,
                                  variation='default', id_episode=id_episode)
 
        data_central = self.get_data_central()
        
        cc.add_report(cc.comp(report_prediction,
                              data_central=data_central,
                              id_agent=id_agent,
                              id_robot=id_robot),
                      'prediction', id_agent=id_agent, id_robot=id_robot)

        cc.add_report(cc.comp(report_prediction2,
                              data_central=data_central,
                              id_agent=id_agent,
                              id_robot=id_robot),
                      'prediction2', id_agent=id_agent, id_robot=id_robot)
Beispiel #7
0
    def define_jobs_context(self, context):
        id_agent = "exp06_bgds1"

        id_robot = "exp05_uA_xy"
        id_convert_job = "exp05_uA_xy"

        jobs_convert = self.call_recursive(
            context,
            "convert",
            RS2B,
            [
                "--config",
                self.get_config_dirs()[0],  # XXX
                "--dummy",
                "convert",
                "--boot_root",
                self.get_boot_root(),
                "--jobs",
                id_convert_job,
            ],
        )

        jobs_learn = context.subtask(
            LearnLog, agent=id_agent, robot=id_robot, interval_publish=5000, extra_dep=jobs_convert.all_jobs()
        )

        test_episodes = ["unicornA_tran1_2013-04-12-23-34-08"]

        for c, id_episode in iterate_context_episodes(context, test_episodes):
            c.subtask(
                ServoField,
                id_robot=id_robot,
                id_agent=id_agent,
                variation="default",
                id_episode=id_episode,
                extra_dep=jobs_learn.all_jobs(),
            )