slv.inversion.sweep.Sweep#

class slv.inversion.sweep.Sweep(cache, pipeline=<function run>, base_config=None, grid_path=None, **sweep_kwargs)[source]#

Object-oriented interface for parameter sweeps.

Examples

Basic usage:

sweep = Sweep(
    cache="./cache",
    base_config=base,
    prior_base_std=[0.01, 0.02],
    gamma=[1.0, 3.0],
)
results = sweep.run(results_dir="./my_sweep", n_jobs=40)
post = sweep.get_posterior(results.best().iloc[0]["config_id"])

Resume/merge with existing grid:

sweep = Sweep(
    cache="./cache",
    grid_path="./my_sweep/sweep_grid.json",  # Load existing
    prior_base_std=[0.03, 0.04],  # Add new configs
)
results = sweep.run(results_dir="./my_sweep", n_jobs=40, resume=True)

SLURM job array:

# Generate grid without running
sweep = Sweep(cache="./cache", prior_base_std=[...], ...)
sweep.run(results_dir="./my_sweep", n_jobs=0)

# Submit SLURM job array (uses run_sweep_job)
# sbatch --array=0-N job.sh

Methods

get_posterior(config_id)

Reconstruct and run a single config by ID.

run(results_dir[, n_jobs, swept_params, ...])

Run the sweep.