Skip to content

Add GNPEChirp to training pipeline#356

Open
stephengreen wants to merge 4 commits into
bnsfrom
bns-training-gnpe-chirp
Open

Add GNPEChirp to training pipeline#356
stephengreen wants to merge 4 commits into
bnsfrom
bns-training-gnpe-chirp

Conversation

@stephengreen

@stephengreen stephengreen commented Feb 25, 2026

Copy link
Copy Markdown
Member

Summary

  • Wire GNPEChirp into set_train_transforms() in train_builders.py, parallel to existing gnpe_time_shifts block
  • Add GNPEChirp to omit_transforms in build_svd_for_embedding_network

Depends on PR #355 (heterodyning transforms). Once #355 is merged into bns, this PR's diff will show only these changes.

YAML config format

data:
  gnpe_chirp:
    kernel:
      chirp_mass: bilby.core.prior.Uniform(minimum=0.998, maximum=1.002)
    order: 0

Test plan

  • All 101 existing tests pass

🤖 Generated with Claude Code

stephengreen and others added 4 commits February 24, 2026 23:04
Add factor_fiducial_waveform() and HeterodynePhase transform for
phase heterodyning, and GNPEChirp transform for chirp mass GNPE
conditioning. These enable removing the dominant chirp phase evolution
from BNS waveforms, which is critical for neural network training.

Based on Max Dax's implementation on bns_add_dingo_pipe_max.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ApplySVD and WhitenFixedASD now operate on sample["waveform"] instead of
flat dicts, matching the interface used by all other transforms. This
enables HeterodynePhase (which needs sample["parameters"]) to be part of
the compression/decompression chain.

Also wires in HeterodynePhase to compression (generate_dataset.py) and
decompression (waveform_dataset.py), and wraps data as sample dicts in
WaveformGenerator and WaveformDataset before passing to transforms.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wire chirp mass GNPE and physics-based frequency masking into
train_builders.py for BNS training support. GNPEChirp samples a chirp
mass proxy, applies heterodyning, and adds context parameters.
ApplyChirpFrequencyMasking zeros frequency bins below the 0PN inspiral
entry frequency for the given chirp mass proxy, avoiding wasted network
capacity on empty bins.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@stephengreen stephengreen changed the title Add GNPEChirp and chirp frequency masking to training pipeline Add GNPEChirp to training pipeline Feb 26, 2026
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