Favicon of Hyperopt

Hyperopt

Python hyperparameter optimization library for conditional search spaces, with random search, TPE and parallel execution through Apache Spark or MongoDB.

Screenshot of Hyperopt website

Hyperopt is a Python library for developers and researchers who need to tune model hyperparameters across complex search spaces. It can handle continuous values, discrete choices and conditional parameters, such as settings that apply only when a particular model or approach is selected. It runs within your Python project, with support for both serial and parallel optimization.

You supply the function to minimize and the space of possible values. That makes Hyperopt useful when a tuning problem involves several alternative configurations rather than one fixed set of numeric parameters. Its search spaces can represent branches with their own parameters, so each alternative can have a different structure.

The available search algorithms are random search, Tree of Parzen Estimators (TPE) and Adaptive TPE. You can choose the search method while keeping the same objective and search-space definition. The library returns the best parameter assignment it finds, and it can translate that assignment back into the configuration represented by the search space.

For workloads that need multiple evaluations at once, Hyperopt supports distributed, asynchronous optimization through Apache Spark or MongoDB.

Similar to Hyperopt