The hyperactive software stack builds upon some shared data-structures to reliably communicate between packages:
-
objective-function
- A function that returns a single score or a tuple of a score and a dictionary. Its only argument is a dictionary in Gradient-Free-Optimizers and a more complex object that behaves like a dictionary in Hyperactive. This argument is often called
opt
,para
oraccess
in examples.
# Hyperactive objective function def parabola_function(access): score = -(access["x"] * access["x"] + access["y"] * access["y"]) return score
- A function that returns a single score or a tuple of a score and a dictionary. Its only argument is a dictionary in Gradient-Free-Optimizers and a more complex object that behaves like a dictionary in Hyperactive. This argument is often called
-
search-space
- A dictionary with the names of the dimensions as keys and the content of the dimensions as values. In Gradient-Free-Optimizers the values are numpy arrays and Hyperactive they are lists.
# Hyperactive search space search_space = { "x": list(np.arange(-10, 10, 0.01)), "y": list(np.arange(-10, 10, 0.01)), }
-
search-data
- The search-data always consists of the score and at least one parameter as columns and has as much rows as iterations performed during the optmization run.
score x y 0.756 0.1 0.2 0.823 0.3 0.1 ... ... ... ... ... ...
-
- The central library for the Hyperactive software stack.
-
- The optimization-backend for Hyperactive.
-
- A collection of test-objective-functions.
-
- Dashboard to visually analyse saved search-data.
-
- Thread safe and atomic data collection into csv-files.