Skip to content

Sampler, scheduler and storage catalog

Every sampler, scheduler and storage backend atune ships, with the feature that gates it.

Three seams, three tables. A study takes one sampler (which chooses the next point), at most one scheduler (which decides whether a running trial continues) and one storage backend (which holds the trials). Each is a trait you can also implement yourself; the extending guide covers that side of it.

An entry marked always is there in a default build. Anything else needs its feature turned on:

[dependencies]
atune = { version = "0.1", features = ["gp", "sqlite"] }

This page is generated from the facade's own module re-export lists — atune::sampler, atune::scheduler, atune::storage — narrowed to the types that implement the seam's trait, with each description taken from that type's own rustdoc summary. A new sampler appears here because it appears in the facade. And if the two disagree, the generator fails instead of publishing a table: the paths in the Path column are the lists it reads, so a type that implements the trait without being re-exported from them is a bug in the facade rather than a row to leave out.

Generated file. Do not edit between the pragmas below — run cargo dev generate-all --mode write instead. Everything outside them is hand-written and is never touched.

Samplers

Every type that implements Sampler, from atune::sampler. Pass one to StudyBuilder::sampler; the default is Random. There are 9 today, and each row's description is that type's own rustdoc summary.

Type Path Feature What it does
Carbs atune::sampler::Carbs carbs CARBS — a cost-aware Bayesian-optimization Sampler.
Cmaes atune::sampler::Cmaes cmaes The Covariance Matrix Adaptation Evolution Strategy.
Dehb atune::sampler::Dehb always Differential-Evolution Hyperband: a stateful DE sampler over a Hyperband fidelity schedule.
GpEi atune::sampler::GpEi gp The Gaussian-process sampler with the numerically-stable logEI acquisition.
Grid atune::sampler::Grid always Walks every point of a finite space, once each, in a fixed order.
Nsga2 atune::sampler::Nsga2 always The elitist non-dominated sorting genetic algorithm (NSGA-II) as a Sampler.
Qmc atune::sampler::Qmc always A quasi-random Sobol sampler.
Random atune::sampler::Random always Samples every parameter independently and uniformly over its support.
Tpe atune::sampler::Tpe always A Tree-structured Parzen Estimator sampler.

Schedulers

Every type that implements Scheduler, from atune::scheduler. A scheduler decides whether a reporting trial continues, is pruned, is paused or forks; the default is NopScheduler, which never stops anything. There are 9 today, and each row's description is that type's own rustdoc summary.

Type Path Feature What it does
AshaPruner atune::scheduler::AshaPruner always The asynchronous successive-halving pruner.
FreezeThaw atune::scheduler::FreezeThaw always The freeze-thaw scheduler: pause many, extrapolate, resume the promising few.
HyperbandPruner atune::scheduler::HyperbandPruner always Asynchronous Hyperband: a fan of AshaPruner brackets over one ladder.
MedianPruner atune::scheduler::MedianPruner always Median / percentile stopping.
NopScheduler atune::scheduler::NopScheduler always Lets every trial run to completion.
Patient atune::scheduler::Patient always A decorator that delays an inner scheduler's prune until a trial has stopped improving.
Pb2 atune::scheduler::Pb2 pb2 PB2: population-based training with a time-varying GP-UCB explore step.
Pbt atune::scheduler::Pbt always Population-based training: exploit-and-explore at a fixed interval — the guide's population-based training runs one end to end.
WilcoxonPruner atune::scheduler::WilcoxonPruner always A statistical pruner: prune a trial that is significantly worse than the incumbent under a paired Wilcoxon signed-rank test.

Storage backends

Every type that implements Storage, from atune::storage. They all pass the same conformance suite, so the choice between them is operational rather than semantic. There are 4 today, and each row's description is that type's own rustdoc summary.

Type Path Feature What it does
JournalStorage atune::storage::JournalStorage system A study in one append-only file: grep-able, resumable, and shared between processes with no server.
MemStorage atune::storage::MemStorage always The reference in-memory Storage backend: RwLock-guarded, copy-on-write reads.
RemoteStorage atune::storage::RemoteStorage remote A network Storage that talks to an atune serve process.
SqliteStorage atune::storage::SqliteStorage sqlite A Storage backend over a single SQLite database.