Skip to content

searches: register af.MultiStartAdam as a first-class profiling sampler (imaging/mge)#68

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/multi-start-adam-profiling
Jul 14, 2026
Merged

searches: register af.MultiStartAdam as a first-class profiling sampler (imaging/mge)#68
Jammy2211 merged 1 commit into
mainfrom
feature/multi-start-adam-profiling

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Summary

Registers the promoted af.MultiStartAdam search (PyAutoFit#1369) in the searches/ first-class profiling section, alongside af.Nautilus. Scope: the imaging/mge cell only — the benchmark-proven cell where a JAX multi-start gradient MAP optimizer is meaningful (pixelization/Delaunay/interferometer/point-source are outside its use case).

  • searches/_samplers.py: build_multi_start_adam(...) + "multi_start_adam" in SAMPLER_BUILDERS; n_starts/n_steps/learning_rate single-sourced via multi_start_settings().
  • searches/_runner.py: n_live is now sampler-aware — nested samplers record their n_live, MAP optimizers record null ("n/a (MAP optimizer)") instead of a misleading value; _sampler_config_dict gains a multi_start_adam branch recording the multi-start knobs. (collect_metrics already tolerates a MAP result: log_evidence → NaN via try/except.)
  • searches/multi_start_adam/imaging/mge.py: the cell leaf script (mirrors nautilus/imaging/mge.py).
  • searches/sweep.py: ("multi_start_adam", "imaging", "mge") added to CELLS.
  • searches/README.md: Design table + a "MAP optimizers alongside samplers" note.

Add + register only — no profiling run here (the actual sweep is the profiling agent's A100 job). MultiStartAdam is JAX-only; the sweep runs JAX-on by default.

Test Plan

  • ruff check / ruff format --check clean
  • AUTOLENS_PROFILING_SMOKE=1 python searches/multi_start_adam/imaging/mge.py → imports + module setup OK
  • build_multi_start_adam(...) constructs (n_starts=64, n_steps=300, lr=0.01); SAMPLER_BUILDERS has both samplers
  • python scripts/build_readme.py --check clean

Note — unrelated file

simulators/README.md is regenerated: a pre-existing build_readme dashboard drift (already-committed v2026.5.14.2 simulator result rows were missing from the table). The required build_readme --check lint gate fails on main without this, so it is reconciled here (auto-generated rows only, no hand-authored content).

Resolves #67.

Generated by the PyAutoLabs agent workflow.

Add MultiStartAdam (PyAutoFit#1369) to the searches/ first-class profiling
section, scoped to the imaging/mge cell — the benchmark-proven cell where a JAX
multi-start gradient MAP optimizer is meaningful. Adds build_multi_start_adam +
a SAMPLER_BUILDERS row, a multi_start_adam/imaging/mge.py cell, and a sweep.py
CELLS entry. Makes n_live sampler-aware (records null for MAP optimizers) and
records n_starts/n_steps in the sampler config block.

Also regenerates simulators/README.md — a pre-existing build_readme dashboard
drift (committed v2026.5.14.2 result rows missing from the table) that the
required build_readme --check gate forces to be reconciled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Jammy2211 Jammy2211 merged commit e703d89 into main Jul 14, 2026
@Jammy2211 Jammy2211 deleted the feature/multi-start-adam-profiling branch July 14, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

searches: register af.MultiStartAdam as a first-class profiling sampler (imaging/mge)

1 participant