def _apply_field_value_changes_in_nncf_config_recursively( template_file, field_value_changes_in_nncf_config): import mmcv from ote.modules.compression import get_optimisation_config_from_template assert isinstance(field_value_changes_in_nncf_config, dict) template_data = mmcv.Config.fromfile(template_file) compression_cfg_rel_path = get_optimisation_config_from_template( template_data) compression_cfg_path = os.path.join(os.path.dirname(template_file), compression_cfg_rel_path) compression_cfg = mmcv.Config.fromfile(compression_cfg_path) compression_cfg = dict(compression_cfg) make_field_value_changes_in_struct_recursively( compression_cfg, field_value_changes_in_nncf_config) mmcv.dump(compression_cfg, compression_cfg_path, file_format='json') logging.debug( f'Made new compression config file:\n{pformat(mmcv.load(compression_cfg_path))}' )
def apply_update_dict_params_to_template_file(template_file, template_update_dict, compression_cfg_update_dict): template_data = mmcv.Config.fromfile(template_file) template_data.dump(template_file + '.backup.yaml') assert is_optimisation_enabled_in_template(template_data), \ f'Template {template_file} does not contain optimisation part' if compression_cfg_update_dict: compression_cfg_rel_path = get_optimisation_config_from_template(template_data) compression_cfg_path = os.path.join(os.path.dirname(template_file), compression_cfg_rel_path) backup_compression_cfg_path = compression_cfg_path + '.BACKUP_FROM_TEST.json' compression_cfg = mmcv.Config.fromfile(compression_cfg_path) compression_cfg.dump(backup_compression_cfg_path) compression_cfg.merge_from_dict(compression_cfg_update_dict) compression_cfg.dump(compression_cfg_path) template_data.merge_from_dict(template_update_dict) template_data.dump(template_file)
def _get_optimisation_config_from_template(*args, **kwargs): from ote.modules.compression import get_optimisation_config_from_template return get_optimisation_config_from_template(*args, **kwargs)