ยป Keras API reference / KerasTuner / Tuners / Hyperband Tuner

Hyperband Tuner

Hyperband class

keras_tuner.Hyperband(
    hypermodel,
    objective,
    max_epochs,
    factor=3,
    hyperband_iterations=1,
    seed=None,
    hyperparameters=None,
    tune_new_entries=True,
    allow_new_entries=True,
    **kwargs
)

Variation of HyperBand algorithm.

Reference

Li, Lisha, and Kevin Jamieson. "Hyperband: A Novel Bandit-Based Approach to Hyperparameter Optimization." Journal of Machine Learning Research 18 (2018): 1-52.

Arguments

  • hypermodel: A HyperModel instance (or callable that takes hyperparameters and returns a Model instance).
  • objective: A string or keras_tuner.Objective instance. If a string, the direction of the optimization (min or max) will be inferred.
  • max_epochs: Integer, the maximum number of epochs to train one model. It is recommended to set this to a value slightly higher than the expected epochs to convergence for your largest Model, and to use early stopping during training (for example, via tf.keras.callbacks.EarlyStopping).
  • factor: Integer, the reduction factor for the number of epochs and number of models for each bracket. Defaults to 3.
  • hyperband_iterations: Integer, at least 1, the number of times to iterate over the full Hyperband algorithm. One iteration will run approximately max_epochs * (math.log(max_epochs, factor) ** 2) cumulative epochs across all trials. It is recommended to set this to as high a value as is within your resource budget. Defaults to 1.
  • seed: Optional integer, the random seed.
  • hyperparameters: Optional HyperParameters instance. Can be used to override (or register in advance) hyperparameters in the search space.
  • tune_new_entries: Boolean, whether hyperparameter entries that are requested by the hypermodel but that were not specified in hyperparameters should be added to the search space, or not. If not, then the default value for these parameters will be used. Defaults to True.
  • allow_new_entries: Boolean, whether the hypermodel is allowed to request hyperparameter entries not listed in hyperparameters. Defaults to True.
  • **kwargs: Keyword arguments relevant to all Tuner subclasses. Please see the docstring for Tuner.