def calc_configs(self, configs: Configs, configs_override: Optional[Dict[str, any]], run_order: Optional[List[Union[List[str], str]]]): self.configs_processor = ConfigProcessor(configs, configs_override) self.configs_processor(run_order) logger.log()
def test(): configs = SampleConfigs() processor = ConfigProcessor(configs, {'module.prop2': 20}) processor() processor.print() print(configs.__dict__) print(configs.module.__dict__)
def calc_configs(self, configs: Union[Configs, Dict[str, any]], configs_override: Optional[Dict[str, any]]): if configs_override is None: configs_override = {} if global_params_singleton().configs is not None: configs_override.update(global_params_singleton().configs) self.configs_processor = ConfigProcessor(configs, configs_override) if self.distributed_rank == 0: logger.log()
def calc_configs(self, configs: Configs, configs_override: Optional[Dict[str, any]], run_order: Optional[List[Union[List[str], str]]]): if configs_override is None: configs_override = {} if global_params_singleton().configs is not None: configs_override.update(global_params_singleton().configs) self.configs_processor = ConfigProcessor(configs, configs_override) self.configs_processor(run_order) logger.log()
class SampleChild(Sample): def __init__(self, *, test: int): pass new_attr = 2 @Sample.calc() def input_model(c: Sample): return c.workers_count * 2 @Sample.calc(Sample.input_model) def input_model2(c: Sample): return c.workers_count * 20 @Sample.calc('model') def simple_model(c: Sample): return c.total_global_steps * 3 configs = Sample() processor = ConfigProcessor(configs) processor() processor.print() print(configs.__dict__)