Ejemplo n.º 1
0
    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())
Ejemplo n.º 2
0
    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())
Ejemplo n.º 3
0
    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}")