Training¶
Glitch reconstruction dataset¶
DeepExtractor reconstructions of seven LIGO O3 glitch classes (35,000 samples) are available for download from HuggingFace: tomdooney/deepextractor-glitch-reconstructions
These reconstructions are suitable for training generative models such as GlitchGAN and for any downstream task requiring high-quality time-domain glitch waveforms.
from deepextractor.data import download_glitch_data
paths = download_glitch_data("data/glitches/")
# paths["samples"] → (35000, 8192) whitened waveforms
# paths["labels"] → (35000, 7) one-hot class labels
# paths["label_order"] → ['Blip', 'Fast_Scattering', 'Koi_Fish',
# 'Low_Frequency_Burst', 'Scattered_Light', 'Tomte', 'Whistle']
To also download the first-order time-derivative array (required for cDVGAN training):
paths = download_glitch_data("data/glitches/", include_derivatives=True)
# paths["derivatives"] → (35000, 8191)
Data preparation¶
Generate time-domain data:
deepextractor-generate --output-dir data/ --num-train 250000 --num-val 25000
# Or with bilby noise:
deepextractor-generate --output-dir data/ --num-train 250000 --bilby-noise
Convert to spectrograms (for 2D models):
deepextractor-specgen \
--input-dir data/pycbc_noise/time_domain/ \
--output-dir data/pycbc_noise/spectrogram_domain/
Expected directory layout after data generation:
data/
└── pycbc_noise/
├── time_domain/
│ ├── glitch_train_scaled_pycbc.npy
│ ├── background_train_scaled_pycbc.npy
│ ├── glitch_val_scaled_pycbc.npy
│ └── background_val_scaled_pycbc.npy
└── spectrogram_domain/
├── glitch_train_scaled_mag_phase.npy
├── background_train_scaled_mag_phase.npy
├── glitch_val_scaled_mag_phase.npy
└── background_val_scaled_mag_phase.npy
Training a model¶
deepextractor-train \
--model DeepExtractor_257 \
--data-dir data/pycbc_noise/spectrogram_domain/ \
--checkpoint-dir checkpoints/ \
--batch-size 32 \
--epochs 150
Available models¶
Model name |
Architecture |
Domain |
|---|---|---|
|
UNET2D (257×257 spectrograms) |
Spectrogram |
|
UNET2D (129×129 spectrograms) |
Spectrogram |
|
1D U-Net |
Time-domain |
|
1D DnCNN |
Time-domain |
|
1D Autoencoder |
Time-domain |
Hyperparameter options¶
Run deepextractor-train --help for the full list of arguments.