def __init__(self, inputs: Union[Input, List[Input]], outputs: Union[head_module.Head, node_module.Node, list], project_name: str = "auto_model", max_trials: int = 100, directory: Union[str, Path, None] = None, objective: str = "val_loss", tuner: Union[str, Type[tuner.AutoTuner]] = "greedy", overwrite: bool = False, seed: Optional[int] = None, **kwargs): self.inputs = nest.flatten(inputs) self.outputs = nest.flatten(outputs) self.seed = seed if seed: np.random.seed(seed) tf.random.set_seed(seed) # TODO: Support passing a tuner instance. # Initialize the hyper_graph. graph = self._build_graph() if isinstance(tuner, str): tuner = get_tuner_class(tuner) self.tuner = tuner(hypermodel=graph, overwrite=overwrite, objective=objective, max_trials=max_trials, directory=directory, seed=self.seed, project_name=project_name, **kwargs) self.overwrite = overwrite self._heads = [ output_node.in_blocks[0] for output_node in self.outputs ]
def __init__(self, inputs: Union[Input, List[Input]], outputs: Union[head_module.Head, node_module.Node, list], preprocessors: Optional[ Union[preprocessor.Preprocessor, List[preprocessor.Preprocessor]]] = None, project_name: str = 'auto_model', max_trials: int = 100, directory: Union[str, Path, None] = None, objective: str = 'val_loss', tuner: Union[str, Type[tuner.AutoTuner]] = 'greedy', overwrite: bool = False, seed: Optional[int] = None, **kwargs): self.inputs = nest.flatten(inputs) self.outputs = nest.flatten(outputs) self.seed = seed if seed: np.random.seed(seed) tf.random.set_seed(seed) # TODO: Support passing a tuner instance. # Initialize the hyper_graph. graph = self._build_graph() if isinstance(tuner, str): tuner = get_tuner_class(tuner) self.tuner = tuner(hypermodel=graph, preprocessors=preprocessors, overwrite=overwrite, objective=objective, max_trials=max_trials, directory=directory, seed=self.seed, project_name=project_name, **kwargs) # Used by tuner to decide whether to use validation set for final fit. self._split_dataset = False self._heads = [ output_node.in_blocks[0] for output_node in self.outputs ] self._input_adapters = [ input_node.get_adapter() for input_node in self.inputs ] self._output_adapters = [head.get_adapter() for head in self._heads]