示例#1
0
 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
     ]
示例#2
0
 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]