1 hyperparameters
"""
This example demonstrates how to use NePS to optimize hyperparameters
of a pipeline. The pipeline is a simple function that takes in
five hyperparameters and returns their sum.
Neps uses the default optimizer to minimize this objective function.
"""
import logging
import numpy as np
import neps
def evaluate_pipeline(float1, float2, categorical, integer1, integer2):
objective_to_minimize = -float(
np.sum([float1, float2, int(categorical), integer1, integer2])
)
return {
"objective_to_minimize": objective_to_minimize,
"cost": categorical,
}
class HPOSpace(neps.PipelineSpace):
float1 = neps.Float(lower=0, upper=1)
float2 = neps.Float(lower=-10, upper=10)
categorical = neps.Categorical(choices=(0, 1))
integer1 = neps.Integer(lower=0, upper=1)
integer2 = neps.Integer(lower=1, upper=1000, log=True)
logging.basicConfig(level=logging.INFO)
neps.run(
evaluate_pipeline=evaluate_pipeline,
pipeline_space=HPOSpace(),
root_directory="results/hyperparameters_example",
evaluations_to_spend=5,
)