29. Skip to content

29. HPO API

This page documents HPO APIs. For bench search workflows, see HPO how-to.

29.1 What it is for

The HPO utilities provide search space definitions and sampling for grid or random search. [1][2]

29.2 Examples

Grid search over a parameter space:

from modssc.hpo import Space

space = Space.from_dict({"method": {"params": {"max_iter": [5, 10, 20]}}})
for trial in space.iter_grid():
    print(trial.index, trial.params)

Random search with distributions:

from modssc.hpo import Space

space = Space.from_dict({"method": {"params": {"confidence_threshold": {"dist": "uniform", "low": 0.7, "high": 0.95}}}})
for trial in space.iter_random(seed=0, n_trials=2):
    print(trial.params)

Distribution validation is implemented in src/modssc/hpo/samplers.py. [2]

29.3 API reference

29.4 HpoError

Bases: ValueError

Raised when an HPO space or distribution is invalid.

Source code in src/modssc/hpo/types.py
7
8
class HpoError(ValueError):
    """Raised when an HPO space or distribution is invalid."""
Sources
  1. src/modssc/hpo/space.py
  2. src/modssc/hpo/samplers.py