PyHopper’s documentation!¶
PyHopper is a black-box optimizer, made specifically for high-dimensional hyperparameter optimization problems arising in machine learning research. Quick to install
pip3 install -U pyhopper
and straightforward to use
import pyhopper
def objective(params: dict) -> float:
model = build_model(params["hidden_size"],...)
# .... train and evaluate the model
return val_accuracy
search = pyhopper.Search(
{
"hidden_size": pyhopper.int(100,500),
"dropout_rate": pyhopper.float(0,0.4),
"opt": pyhopper.choice(["adam","rmsprop","sgd"]),
}
)
best_params = search.run(objective, "maximize", "1h 30min",n_jobs="per-gpu")
PyHopper is a scheduled Markov chain Monte Carlo (sMCMC) sampler that
runs parallel across multiple CPUs and GPUs
natively supports NumPy array parameters with millions of dimensions
automatically focuses its search space based on the remaining runtime
User’s Guide¶
- Quickstart
- PyHopper’s Philosophy
- Code Recipes
- Examples
- API Reference