← all repositories
automl/SMAC3

Bayesian optimization that races configs head-to-head

SMAC3 tunes hyperparameters by pitting candidates against each other in an aggressive racing mechanism, not just passive surrogate modeling.

1.2k stars Python ML Frameworks
SMAC3
Not currently ranked — collecting fresh signals.
star history

What it does SMAC3 is a Python framework for Bayesian hyperparameter optimization. You define a configuration space and a target function; it searches for well-performing hyperparameters using a surrogate model (now sklearn’s Random Forest by default) paired with an intensifier that quickly weeds out losers. It plugs into standard ML pipelines via a simple optimize() call.

The interesting bit The “aggressive racing mechanism” is the twist: instead of evaluating every candidate fully, SMAC3 runs a statistical race to decide which of two configurations actually performs better, cutting budget for obvious duds. The v2.0 rewrite also added native multi-objective, multi-fidelity, and multi-threading support across all facades—plus an ask-and-tell interface for embedding in larger loops.

Key highlights

  • Ask-and-tell interface plus run resumption for interactive or distributed workflows
  • Multi-objective and multi-fidelity optimization supported natively in all facades
  • Switched to sklearn Random Forest as default surrogate in v2.4.0; legacy C++-based pyrfr still available via smac[pyrfr]
  • DeepCAVE companion tool for visualizing optimization runs
  • BSD-3 licensed, backed by AutoML groups at Hannover and Freiburg

Caveats

  • v2.0 dropped the command-line interface and runtime optimization; if you need those, stay on v1.4
  • Python 3.7 support removed; tested on 3.8–3.10
  • pyrfr path requires installing gcc, gxx, and swig manually

Verdict Worth a look if you’re doing serious hyperparameter search beyond grid/random baselines and want fine-grained control over the optimization loop. Skip if you just need a one-liner wrapper around a sklearn estimator.

Frequently asked

What is automl/SMAC3?
SMAC3 tunes hyperparameters by pitting candidates against each other in an aggressive racing mechanism, not just passive surrogate modeling.
Is SMAC3 open source?
Yes — automl/SMAC3 is an open-source project tracked on heatdrop.
What language is SMAC3 written in?
automl/SMAC3 is primarily written in Python.
How popular is SMAC3?
automl/SMAC3 has 1.2k stars on GitHub.
Where can I find SMAC3?
automl/SMAC3 is on GitHub at https://github.com/automl/SMAC3.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.