Repository navigation
Conversation
hound_data writes exact whole-genome per-track histograms of the stored fp16 targets (strand sums) as target_hist; SpecPearsonCorrCoef builds qnorm's tie-averaged quantile maps from them, maps preds and targets through each track's table, regresses out the group mean per track, and streams per-track moments. hound_eval reports it in its single pass. Removes hound_eval_spec, spec_norm, combine_pairs, and hound_eval_folds --spec/--band/--seq_chunk/--ram/--scratch_dir. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Map NaN predictions as 0 instead of indexing outside the tables; build the group reference once by sweeping all tracks' tie-block bounds; accumulate group-mean moments per group and only cross terms per track; share tables between train and valid metrics; count histograms per track in int32; reject strand-pair splits when subsetting target_hist. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ning job With one-pass spec, the test eval is cheap enough to run on the training GPU right after training. Each job chains hound_eval per dataset on its held-out fold, writing <fold>/eval*/fold<t> as hound_eval_folds does; the GCP run links test -> fold<t> after the final pull. A fold with COMPLETE but no test acc.txt is relaunched (the trainer resumes finished and exits; the eval reruns). --rc passes through. link_test_metrics moves to helpers/fold_utils. Co-Authored-By: Claude Opus 5.5 <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
Replaces fast spec (per epoch) and qnorm spec (
hound_eval_spec, post hoc) with one streaming specificity metric. It is reported per epoch in training (spec,spec/<group>inmetrics.tsv) and per track inhound_eval(speccolumn ofacc.txt).Changes
hound_data: writestarget_histto eachexamples/*.zarr: exact whole-genome histograms of the stored fp16 targets, per track, with strand pairs summed (num_targets × 31744). Replaceswrite_target_means.metrics.SpecPearsonCorrCoef:target_hist(qmap_tables).hound_eval: computes spec in the normal eval pass.hound_train_folds --eval: scores the test fold at the end of each training job.hound_eval_spec,spec_norm.py,seqnn.eval(combine_pairs=...);hound_eval_foldsoptions--spec,--band,--seq_chunk,--ramand--scratch_dir.Validation
Known limitation
Predictions are mapped through the target's table, not through their own distribution as qnorm does. In sparse groups, where most bins are zero, this reads up to 0.10 lower than qnorm and ranks tracks less consistently with it.
Breaking changes
target_hist. Without it, spec is disabled with a warning. Backfill withpython -c "from baskerville import dataset; dataset.write_target_hist('data_dir')". Themeanattr is no longer written or read.specchanges meaning: inmetrics.tsvandacc.txtit now reports the new metric.🤖 Generated with Claude Code