Optimization algorithms¶
HPOlib ships several optimization packages by default. These are:
- ConfigurationRunner
- Executes configurations which are saved in a csv file.
- SMAC v2.06.01
- Includes the ROAR and SMAC algorithm (Hutter et al., 2011).
- SMAC v2.08.00
- Includes the ROAR and SMAC algorithm (Hutter et al., 2011).
- SMAC v2.10.00
- Includes the ROAR and SMAC algorithm (Hutter et al., 2011).
- Spearmint (github clone from april 2013)
- Performs Bayesian optimization with Gaussian Processes as described in Snoek et al. (2012).
- Hyperopt (github clone from august 2013)
- Includes random search (Bergstra and Bengio, 2012) and the Tree Parzen Estimator (Bergstra et al., 2011)
Configuration Runner¶
The ConfigurationRunner is an optimizer which runs configurations saved in a csv file. It is useful to evaluate configurations which do not come from an optimization algorithm and still benefit from HPOlib’s functionality.
By default, it expects a csv file called configurations as input. The first line determines the names of the hyperparameters, every following line determines a single configuration.
The following is an example file for the branin function:
x,y
0,0
1,1
2,2
3,3
4,4
5,5
6,6
7,7
8,8
9,9
10,10
WARNING: ConfigurationRunner does not check if the configurations adhere to any configuration space. This must be done by the user.
Furthermore, ConfigurationRunner can execute the function evaluations in parallel. This is governed by the argument n_jobs and only useful if the target machine has enough processors/cores or the jobs are distributed across several machines.