Exemple #1
0
    def start(self):
        if self.grid_search_id is not None:
            re_eval = True
            grid_search_id = self.grid_search_id
        else:
            re_eval = False
            grid_search_id = datetime.now().strftime("%Y-%m-%d--%H-%M-%S")

        self._save_gs_config(self.gs_config_path, self.dashify_logging_path, grid_search_id)
        self._setup_logging_environment(self.text_logging_path)
        gym = MLGymStarter._create_gym(process_count=self.process_count, device_ids=self.gpus, log_std_to_file=self.log_std_to_file)
        gs_config = YAMLConfigLoader.load(self.gs_config_path)
        if self.validation_mode == MLGymStarter.ValidationMode.NESTED_CV:
            self._save_evaluation_config(self.evaluation_config_path, self.dashify_logging_path, grid_search_id)
            evaluation_config = YAMLConfigLoader.load(self.evaluation_config_path)
            self.run_nested_cv(gym=gym, gs_config=gs_config, cv_config=evaluation_config, grid_search_id=grid_search_id, re_eval=re_eval)
        elif self.validation_mode == MLGymStarter.ValidationMode.CROSS_VALIDATION:
            self._save_evaluation_config(self.evaluation_config_path, self.dashify_logging_path, grid_search_id)
            evaluation_config = YAMLConfigLoader.load(self.evaluation_config_path)
            self.run_cross_validation(gym=gym, gs_config=gs_config, cv_config=evaluation_config, grid_search_id=grid_search_id,
                                      re_eval=re_eval)
        elif self.validation_mode == MLGymStarter.ValidationMode.GRID_SEARCH:
            self.run_grid_search(gym=gym, gs_config=gs_config, grid_search_id=grid_search_id, re_eval=re_eval)
        else:
            raise ValidationModeNotValidError
        self._stop_logging_environment()
Exemple #2
0
 def get_components_from_nested_cv(gs_path: str, cv_path: str,
                                   blueprint_type: Type[BluePrint],
                                   component_names: List[str]):
     gs_config = YAMLConfigLoader.load(gs_path)
     cv_config = YAMLConfigLoader.load(cv_path)
     nested_cv = ValidatorFactory.get_nested_cv(
         gs_config=gs_config,
         cv_config=cv_config,
         grid_search_id="bla",
         blue_print_type=blueprint_type)
     blue_print = nested_cv.create_blue_prints(blueprint_type,
                                               AbstractGymJob.Type.STANDARD,
                                               gs_config,
                                               1,
                                               dashify_logging_path="")[0]
     components = blueprint_type.construct_components(
         config=blue_print.config,
         component_names=component_names,
         external_injection=blue_print.external_injection)
     return components
Exemple #3
0
 def create_gs_configs_from_path(config_path: str) -> List[Dict]:
     gs_config = YAMLConfigLoader.load(config_path)
     configs = GridSearch.create_gs_from_config_dict(gs_config)
     return configs
Exemple #4
0
 def full_config(self) -> Dict:
     directory = os.path.dirname(os.path.abspath(__file__))
     config_path = os.path.join(directory, "atis_full_config.yml")
     config = YAMLConfigLoader.load(config_path)
     return config
Exemple #5
0
 def example_injection(self) -> Dict[str, Any]:
     return YAMLConfigLoader.load(
         "pytest/blueprints/component_factory/example_injection.yml")