feat: big_tf_unet_2 — intern-driven single-scale teacher pipeline#8
Merged
Conversation
Semi-automated, human-in-the-loop training pipeline. One run trains one single-scale (nfft, hop) teacher model; many runs produce per-scale teachers for later multiscale distillation (distillation out of scope). Rebuilt on big_tf_unet_ablation internals (single-h5-per-step I/O, auto_params compute-once, forkserver+threadpoolctl baseline pool, SLURM-aware parmap, legacy-API TF32) with a workflow layer for non-expert operators: - Run facade + 6 Jupyter notebook templates: run/submit a step, view a gallery, tweak a knob in run.yaml, clear + rerun, accept. All indexing, memory, and data-placement is automated; the operator only turns knobs. - Single validated run.yaml per run (pydantic + OmegaConf-merge over defaults; unknown keys and out-of-range values fail loudly before compute). - Task matrix with human sign-off + params-hash staleness (a knob change stales downstream steps). File-fenced clears replace the rmtree footgun. - sbatch integration routes GPU steps to GPU nodes and heavy CPU steps to CPU nodes; submitted jobs are detached from the notebook kernel. Methodology changes over the original recipe: - One normalization convention N_a(x) = a*asinh((x - median)/(a*1.4826*MAD)) at every model-facing site (robust median/MAD; asinh soft compression, no hard clamps). a=1 at the denoiser input, a=3 at the dataset (smooth generalization of the old clip(z, +/-3)). Per-modality robust stats are recorded and exported in the deploy manifest. - Knee-point thresholds via the kneed package (Kneedle on the positive robust-z ECDF) replacing the hand-rolled triangle method; knobs are knee_sensitivity and delta in robust-sigma units. - Energy-level edge-bin detector (catches broad low-frequency plateaus the gradient detector missed). - Refine stage replaced with leakage-free out-of-fold soft pseudo-labels: each fold predicts only its held-out samples; the final model trains on q = (1 - model_trust)*knee_label + model_trust*p_oof. Fixes the old refiner's cross-fold leakage and its backwards entropy criterion, and drops MC-dropout (cheaper). - Scale-covariant auto parameters (baseline lam, UNet depth, batch size) so one config works at every resolution. Adds a quick TJ-II benchmark step (per-image IoU / F1 at the F1-optimal threshold) as a relative tracker against the deployed anchor. Adds kneed + threadpoolctl to the train dependency group. Tests are collection-safe without train deps.
nathanchenseanwalter
added a commit
that referenced
this pull request
Jul 8, 2026
feat: big_tf_unet_2 — intern-driven single-scale teacher pipeline
nathanchenseanwalter
added a commit
that referenced
this pull request
Jul 8, 2026
feat: big_tf_unet_2 — intern-driven single-scale teacher pipeline
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.
Semi-automated, human-in-the-loop training pipeline. One run trains one single-scale (nfft, hop) teacher model; many runs produce per-scale teachers for later multiscale distillation (distillation out of scope).
Rebuilt on big_tf_unet_ablation internals (single-h5-per-step I/O, auto_params compute-once, forkserver+threadpoolctl baseline pool, SLURM-aware parmap, legacy-API TF32) with a workflow layer for non-expert operators:
Methodology changes over the original recipe:
Adds a quick TJ-II benchmark step (per-image IoU / F1 at the F1-optimal threshold) as a relative tracker against the deployed anchor.
Adds kneed + threadpoolctl to the train dependency group. Tests are collection-safe without train deps.