Skip to content

configs: ship PALETTE arms against the current setup, and build-test the paper configs - #142

Open
Hendrik-code wants to merge 1 commit into
mainfrom
hm/palette-paper-configs
Open

Hendrik-code wants to merge 1 commit into
mainfrom
hm/palette-paper-configs

Conversation

@Hendrik-code

Copy link
Copy Markdown
Collaborator

Why

RandomPaletteGPU has been on main since the palette restack, and the composable PaletteSynthesisGPU beside it, but no shipped config runs either — so there is no way to train a PALETTE arm from this repo. The only configs that did live on the palette branch, 274 commits behind main and written against the pre-rename auglab schema (probability rather than p, mix_in_out, ImageContrastV26_6_2GPUTransform).

What

Two configs, both translations of arms from that branch to the current setup:

file hash what it is
transform_params_paper-palette.json 4b92045c PALETTE at p: 1.0, transfer augmentations off
transform_params_paper-palette-ours.json 3a4eb987 the paper Ours config plus PALETTE at p: 0.5

transform_params_paper-palette.json is transform_params_paper-synthseg.json with RandomSynthSegGPU removed and RandomPaletteGPU in its place, every other key untouched. The two configs therefore differ in exactly one augmentation, which makes PALETTE and SynthSeg comparable as synthesis methods rather than as two differently-tuned pipelines. The -ours file is the train050 arm.

Both carry p and nothing else. Every PALETTE parameter the old train050 arm set — c_choices, s_choices, blur_sigmas, dark_threshold, n_kmeans_subsample, skip_parcellation_prob, skip_sub_parc_prob, alpha_magnitude_range, label_remap_prob, min_label_voxels, label_classes — is byte-for-byte the registry default here, so restating them would only create something that can drift from the defaults.

Both needed a .gitignore entry: *.json is blanket-ignored and the comment there says a new tracked config has to say so.

A gap this found

gpu_config_paths() matched transform_params_gpu* only, so transform_params_paper-* was covered by the JSON-validity check and nothing else. That includes transform_params_paper-synthseg.json — the config the published SynthSeg (post) benchmark arm trained on — which no test has ever built or run.

The prefix list now includes transform_params_paper-, so all five GPU configs build an AugTransformsGPU and push a volume through it:

transform_params_gpu.json
transform_params_one-sequence-to-segment-them-all.json
transform_params_paper-palette-ours.json
transform_params_paper-palette.json
transform_params_paper-synthseg.json

Tests

469 passed, 13 skipped, 1527 subtests passed — the subtest count is up because the two new configs and paper-synthseg now run through test_configs.py's build, determinism and shape checks.

🤖 Generated with Claude Code

…the paper configs

`RandomPaletteGPU` has been on main since the palette restack, but no shipped
config runs it, so there was no way to train the published PALETTE arms from
this repo. The only configs that did live on the `palette` branch, 274
commits back and written against the pre-rename `auglab` schema
(`probability`, `mix_in_out`, `ImageContrastV26_6_2GPUTransform`).

Two configs, both translations of arms from that branch:

* `transform_params_paper-palette.json` -- PALETTE at p=1.0 in the frame
  `transform_params_paper-synthseg.json` defines, with SynthSeg removed and
  every other key untouched. The two therefore differ in one augmentation,
  which makes PALETTE and SynthSeg comparable as synthesis methods rather
  than as two differently-tuned pipelines.
* `transform_params_paper-palette-ours.json` -- the paper `Ours` config plus
  PALETTE at p=0.5, which is the `train050` arm.

Every PALETTE parameter the `train050` arm set -- c_choices, s_choices,
blur_sigmas, dark_threshold, n_kmeans_subsample, skip_parcellation_prob,
skip_sub_parc_prob, alpha_magnitude_range, label_remap_prob,
min_label_voxels, label_classes -- is byte-for-byte the registry default
here, so both configs carry `p` and nothing else rather than restating
values that would then be free to drift.

`gpu_config_paths` now also covers `transform_params_paper-*`. Those configs
were checked for JSON validity and nothing else, so neither the new ones nor
`transform_params_paper-synthseg.json` -- the config the published
`SynthSeg (post)` arm trained on -- was ever built or run by the suite. All
five build and push a volume through.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant