Esempio n. 1
0
    def _determine_config(self):
        """
        Determines train config by updating default config with user config and then validates them with given
        json schema.
        """
        input_config = self._task_config
        logger.info('Input config', extra={'config': input_config})
        config = deepcopy(self._default_config)
        update_recursively(config, input_config)
        logger.info('Full config', extra={'config': config})

        self._validate_train_cfg(config)
        self.config = config
def get_effective_inference_mode_config(task_inference_mode_config: dict, default_inference_mode_config: dict) -> dict:
    task_inference_mode_name = task_inference_mode_config.get(NAME, None)
    default_inference_mode_name = default_inference_mode_config.get(NAME, None)
    inference_mode_name = task_inference_mode_name or default_inference_mode_name
    if inference_mode_name is None:
        raise RuntimeError(
            'Inference mode name ({} key) not found in mode config.'.format(NAME))

    inference_mode_cls = InferenceModeFactory.mapping[inference_mode_name]

    # Priorities when filling out inference mode config:
    # - task config (highest)
    # - default config from constructor
    # - default config for the given mode (lowest).
    result_config = inference_mode_cls.make_default_config(model_result_suffix='')
    if default_inference_mode_name == inference_mode_name:
        # Only take custom mode defaults into account if the mode name matches the task config.
        update_recursively(result_config, default_inference_mode_config)
    update_recursively(result_config, task_inference_mode_config)
    return result_config
    def __init__(self):
        logger.info('Starting base single image inference applier init.')
        task_model_config = self._load_task_model_config()
        self._config = update_recursively(self.get_default_config(),
                                          task_model_config)
        # Only validate after merging task config with the defaults.
        self._validate_model_config(self._config)

        self._load_train_config()
        self._construct_and_fill_model()
        logger.info('Base single image inference applier init done.')
Esempio n. 4
0
 def load_config(self):
     self.config = deepcopy(ModelDeploy.config)
     new_config = load_json_file(TaskPaths.TASK_CONFIG_PATH)
     logger.info('Input config', extra={CONFIG: new_config})
     update_recursively(self.config, new_config)
     logger.info('Full config', extra={CONFIG: self.config})