def define_jobs_context(self, context): from pkg_resources import resource_filename # @UnresolvedImport config_dir = resource_filename("yc1304.uzhturtle", "config") GlobalConfig.global_load_dir(config_dir) GlobalConfig.global_load_dir('${DATASET_UZHTURTLE}') rm = context.get_report_manager() rm.set_html_resources_prefix('uzh-turtle-stats') data_central = self.get_data_central() logs = list(self.get_explogs_by_tag('uzhturtle')) agents = ['stats2', 'bdse_e1_ss'] robots = ['uzhturtle_un1_cf1', 'uzhturtle_un1_cf1_third'] for c, id_explog in iterate_context_explogs(context, logs): explog = get_conftools_explogs().instance(id_explog) print id_explog, explog jobs_learn_parallel(context, data_central=data_central, explogs_learn=logs, agents=agents, robots=robots, episodes_per_tranche=2)
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)
def define_jobs_context(self, context): rm = context.get_report_manager() rm.set_html_resources_prefix('jbds-nav') logs = set(self.get_explogs_by_tag('navigation')) logs = list(logs) assert len(logs) >= 4 data_central = self.get_data_central() recipe_episodeready_by_convert2(context, data_central.get_boot_root()) recipe_navigation_map1(context, data_central) for c, id_explog in iterate_context_explogs(context, logs): explog = get_conftools_explogs().instance(id_explog) # Get the map that we need annotation_navigation = explog.get_annotations()['navigation'] id_explog_map = annotation_navigation['map'] id_robot = annotation_navigation['robot'] # if not 'params' in annotation_navigation: # self.error('incomplete %r' % id_explog) # continue navigation_params = annotation_navigation['params'] nmap = c.get_resource(RP_NAVIGATION_MAP, id_episode=id_explog_map, id_robot=id_robot) out_base = os.path.join(c.get_output_dir(), '%s' % id_explog) c.comp_config(reconstruct_servo_state, id_explog, id_robot, nmap, out_base=out_base, navigation_params=navigation_params, job_id='reconstruct') extra_dep = [c.get_resource(RM_EPISODE_READY, id_robot=id_robot, id_episode=id_explog)] nmap_dist = c.comp_config(nmap_distances, data_central, id_episode=id_explog, id_robot=id_robot, nmap=nmap, extra_dep=extra_dep) report_keys = dict(id_robot=id_robot, id_episode=id_explog, id_episode_map=id_explog_map) r = c.comp(report_nmap_distances, nmap, nmap_dist) c.add_report(r, 'nmap_distances', **report_keys) ep = c.get_resource(RM_EPISODE_READY, id_episode=id_explog, id_robot=id_robot) poses = c.comp_config(poses_from_episode, data_central=data_central, id_robot=id_robot, id_episode=id_explog, extra_dep=[ep]) ep0 = c.get_resource(RM_EPISODE_READY, id_episode=id_explog_map, id_robot=id_robot) poses0 = c.comp_config(poses_from_episode, data_central=data_central, id_robot=id_robot, id_episode=id_explog_map, extra_dep=[ep0]) r = c.comp(report_trajectory, poses, poses0) c.add_report(r, 'trajectory', **report_keys)
def define_jobs_context(self, context): config = self.get_rs2b_config() explogs = list(config.explogs.keys()) for c, id_explog in iterate_context_explogs(context, explogs): explog = config.explogs.instance(id_explog) if not isinstance(explog, ExpLogFromYaml): continue # XX if explog.get_outside_movie() is None: continue c.subtask(MakeVideoSFX, id_explog=id_explog, add_job_prefix='', add_outdir='')
def define_jobs_context(self, context): from pkg_resources import resource_filename # @UnresolvedImport config_dir = resource_filename("yc1304.uzhturtle", "config") GlobalConfig.global_load_dir(config_dir) GlobalConfig.global_load_dir("${DATASET_UZHTURTLE}") rm = context.get_report_manager() rm.set_html_resources_prefix("uzh-turtle-plots") data_central = self.get_data_central() id_robot = "uzhturtle_un1_cf1_third" recipe_episodeready_by_convert2(context, boot_root=self.get_boot_root()) logs = list(self.get_explogs_by_tag("uzhturtle")) for c, id_explog in iterate_context_explogs(context, logs): jobs_turtleplot(c, data_central, id_robot, id_episode=id_explog)
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)
def define_jobs_context(self, context): logs = (set(self.get_explogs_by_tag('servo')) & set(self.get_explogs_by_tag('fieldsampler'))) assert len(logs) >= 4 for c, id_explog in iterate_context_explogs(context, logs): explog = get_conftools_explogs().instance(id_explog) # jobs_video_servo_multi(c, id_explog) annotation_servo = explog.get_annotations()['servo'] id_robot = annotation_servo['robot'] goal_at = annotation_servo['goal'] out_base = os.path.join(c.get_output_dir(), '%s' % id_explog) c.comp_config(reconstruct_servo_state_nomap, id_explog, id_robot, out_base, goal_at=goal_at)
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)