def component_param(self, **kwargs): new_kwargs = copy.deepcopy(kwargs) for attr in self.__dict__: if attr in new_kwargs: setattr(self, attr, new_kwargs[attr]) self._component_param[attr] = new_kwargs[attr] del new_kwargs[attr] for attr in new_kwargs: LOGGER.warning(f"key {attr}, value {new_kwargs[attr]} not use") self._role_parameter_keywords |= set(kwargs.keys())
def algorithm_param(self, **kwargs): new_kwargs = copy.deepcopy(kwargs) for attr in self.__dict__: if attr in new_kwargs: setattr(self, attr, new_kwargs[attr]) self._algorithm_param[attr] = new_kwargs[attr] del new_kwargs[attr] for attr in new_kwargs: # print ("key {}, value {} not use".format(attr, new_kwargs[attr])) LOGGER.warning(f"key {attr}, value {new_kwargs[attr]} not use") self._role_parameter_keywords |= set(kwargs.keys())
def _construct_train_dsl(self): if self._global_job_provider: self._train_dsl["provider"] = self._global_job_provider self._train_dsl["components"] = {} for name, component in self._components.items(): component_dsl = {"module": component.module} if name in self._components_input: component_dsl["input"] = self._components_input[name] if hasattr(component, "output"): component_dsl["output"] = {} output_attrs = { "data": "data_output", "model": "model_output", "cache": "cache_output" } for output_key, attr in output_attrs.items(): if hasattr(component.output, attr): component_dsl["output"][output_key] = getattr( component.output, attr) provider_name = None provider_version = None if not hasattr(component, "source_provider"): LOGGER.warning( f"Can not retrieval source provider of component {name}, " f"refer to pipeline/component/component_base.py") else: provider_name = getattr(component, "source_provider") if provider_name is None: LOGGER.warning( f"Source provider of component {name} is None, " f"refer to pipeline/component/component_base.py") if hasattr(component, "provider"): provider = getattr(component, "provider") if provider is not None: if provider.find("@") != -1: provider_name, provider_version = provider.split( "@", -1) else: provider_name = provider # component_dsl["provider"] = provider if getattr(component, "provider_version") is not None: provider_version = getattr(component, "provider_version") if provider_name and provider_version: component_dsl["provider"] = "@".join( [provider_name, provider_version]) elif provider_name: component_dsl["provider"] = provider_name self._train_dsl["components"][name] = component_dsl if not self._train_dsl: raise ValueError("there are no components to train") LOGGER.debug(f"train_dsl: {self._train_dsl}")