rekall.tuner.successive_halving module

This module performs successive halving.

class rekall.tuner.successive_halving.SuccessiveHalvingTuner(search_space, eval_fn, maximize=True, budget=500, log=False, log_dir=None, run_dir=None, run_name=None, start_config=None, start_score=None, score_fn=<function Tuner.<lambda>>, score_log_fn=<function Tuner.<lambda>>, num_workers=1, show_loading=True)

Bases: rekall.tuner.tuner.Tuner

This tuner does successive halving over the search space.

classmethod estimate_cost(eta, N, K, T)

Estimate the cost of successive halving

tune_impl(**kwargs)

Performs successive halving - start with K random configurations, each running for T iterations of some sub-tuner. In each round, take the 1 / eta top configurations, and in the next round train for eta times more iterations.

Parameters:
  • eta – Halving ratio.
  • N – Number of rounds.
  • K – Initial number of configurations.
  • T – Number of training iterations to start with.
  • tunerTuner class to use for internal training rounds.
  • tuner_params – Optional params to pass to the internal tuner.