searches: register af.MultiStartAdam as a first-class profiling sampler (imaging/mge)#68
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Registers the promoted
af.MultiStartAdamsearch (PyAutoFit#1369) in thesearches/first-class profiling section, alongsideaf.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"inSAMPLER_BUILDERS;n_starts/n_steps/learning_ratesingle-sourced viamulti_start_settings().searches/_runner.py:n_liveis now sampler-aware — nested samplers record theirn_live, MAP optimizers recordnull("n/a (MAP optimizer)") instead of a misleading value;_sampler_config_dictgains amulti_start_adambranch recording the multi-start knobs. (collect_metricsalready tolerates a MAP result:log_evidence→ NaN via try/except.)searches/multi_start_adam/imaging/mge.py: the cell leaf script (mirrorsnautilus/imaging/mge.py).searches/sweep.py:("multi_start_adam", "imaging", "mge")added toCELLS.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 --checkcleanAUTOLENS_PROFILING_SMOKE=1 python searches/multi_start_adam/imaging/mge.py→ imports + module setup OKbuild_multi_start_adam(...)constructs (n_starts=64, n_steps=300, lr=0.01);SAMPLER_BUILDERShas both samplerspython scripts/build_readme.py --checkcleanNote — unrelated file
simulators/README.mdis regenerated: a pre-existingbuild_readmedashboard drift (already-committedv2026.5.14.2simulator result rows were missing from the table). The requiredbuild_readme --checklint gate fails onmainwithout this, so it is reconciled here (auto-generated rows only, no hand-authored content).Resolves #67.
Generated by the PyAutoLabs agent workflow.