Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
6529070
Add factorized sampler core with plain-NPE parity
stephengreen Jun 30, 2026
2675f68
Move FlowFactor and _base_model_metadata into core
stephengreen Jun 30, 2026
1a6bc91
Add GNPE Gibbs composer with bit-exact parity
stephengreen Jun 30, 2026
365daf1
ComposedSampler: accept GibbsComposer as well as ChainComposer
stephengreen Jun 30, 2026
4e43778
Add per-factor batching to the factorized sampler
max-dax Jun 30, 2026
f045821
Add GWComposedSampler.to_result()
stephengreen Jun 30, 2026
cd0c502
Apply black formatting
stephengreen Jun 30, 2026
79108d2
Replace per-factor batching with a vertical chain executor
stephengreen Jun 30, 2026
0a2f9f3
Rename GibbsComposer to GNPEGibbsComposer; add Composer protocol
stephengreen Jun 30, 2026
51b969c
Tighten core factor docstrings
stephengreen Jun 30, 2026
9a7152e
Split GNPE main factor into kernel + flow; generalize Gibbs composer
stephengreen Jun 30, 2026
700b7d0
Add single-step GNPE sampler on the factorized spine
stephengreen Jul 1, 2026
f0220b5
Generalize ChainComposer to a Step list; drop the Composer protocol
stephengreen Jul 1, 2026
be8a74c
Move RA frame and fixed params into chain steps; drop _post_process r…
stephengreen Jul 1, 2026
b0bc6b5
Move the GNPE kernel correction into a chain step; remove _post_process
stephengreen Jul 1, 2026
7391227
Rename FixedFactor to DeltaFactor
stephengreen Jul 1, 2026
b36c5c6
Remove the vestigial _post_process hook; ComposedSampler is a generic…
stephengreen Jul 1, 2026
17f49a6
Drop the Conditioning wrapper for explicit (context, given) args
stephengreen Jul 1, 2026
4420dcb
Add likelihood-in-context and the synthetic-phase factor
stephengreen Jul 2, 2026
b5fc808
Convert factor docstrings to single backticks and numpy style
stephengreen Jul 2, 2026
211c390
Add GWSamplerContext.prior as the static prior owner
stephengreen Jul 3, 2026
028108c
Route the prior through GWSamplerContext as the single owner
stephengreen Jul 3, 2026
292f557
Make ChainComposer.log_prob a kind-aware reverse fold; add missing st…
stephengreen Jul 5, 2026
8a2547e
Add a chain device policy, cache the likelihood, invalidate stale con…
stephengreen Jul 5, 2026
78f3e73
Rename GWSamplerContext.raw_context to event_data
stephengreen Jul 5, 2026
602e5e6
Support unconditional (density-recovery) models in FlowFactor
stephengreen Jul 5, 2026
334fae1
Wire composed NPE sampling into dingo_pipe behind an implementation s…
stephengreen Jul 5, 2026
bb2575a
Accept Path as well as str in DingoDataset file APIs
stephengreen Jul 5, 2026
7e83f8d
Wire composed GNPE with density recovery into dingo_pipe
stephengreen Jul 5, 2026
759fbb0
Reconstruct the sampler context from serialized results
stephengreen Jul 6, 2026
c018715
Delegate likelihood construction to the sampler context
stephengreen Jul 6, 2026
9f6ff75
Run synthetic phase as a chain over the sampler context
stephengreen Jul 6, 2026
6aa5808
Fix two latent bugs caught by end-to-end testing
stephengreen Jul 6, 2026
0fadbd6
Move frequency-update validation to dingo.gw.frequency_updates
stephengreen Jul 6, 2026
7b06713
Port event frequency-range cropping to the composed data-prep chain
stephengreen Jul 6, 2026
106d7f9
Record structured sampler provenance in composed results
stephengreen Jul 6, 2026
4a9cc24
Delete the legacy samplers
stephengreen Jul 6, 2026
07681d0
Consolidate Result onto the sampler context
stephengreen Jul 6, 2026
53c5ab2
Derive importance-sampling contexts instead of threading likelihood v…
stephengreen Jul 7, 2026
f23b769
Add the spin-convention reparametrization
stephengreen Jul 7, 2026
4d04bb9
Port the BNS heterodyning transforms and likelihood decomposition
stephengreen Jul 7, 2026
f649e9b
Fix the window-factor compatibility script for model files
stephengreen Jul 7, 2026
9c32a78
Add the proxy-offset reparametrization with conditioning-aware inverses
stephengreen Jul 7, 2026
7d73d9e
Add the fixed-proxy BNS chain builder
stephengreen Jul 7, 2026
a63a683
Draw the pinned data preparation from the chain
stephengreen Jul 7, 2026
ccbfdfd
Wire fixed context parameters into dingo_pipe
stephengreen Jul 7, 2026
f17f74b
Add the chirp-mass scan with row-aligned data preparation
stephengreen Jul 12, 2026
ffbc07c
Wire the chirp-mass scan into dingo_pipe
stephengreen Jul 12, 2026
7672490
Split the GW inference module by responsibility
stephengreen Jul 12, 2026
f1f956b
Rotate a pinned right ascension into the network's training frame
stephengreen Jul 13, 2026
a033c87
Add the sampling-chains concepts page
stephengreen Jul 13, 2026
1e0b20d
Present reparametrizations as changes of variables
stephengreen Jul 13, 2026
8f6940d
Add the binary-neutron-star inference page
stephengreen Jul 13, 2026
8e0fe45
Rewrite the inference and injection-example docs
stephengreen Jul 13, 2026
eafb9c2
Document single-step GNPE and the BNS pipe options
stephengreen Jul 13, 2026
e6d2e5a
Merge branch 'hackathon-1' into sampler-revamp
stephengreen Jul 14, 2026
6b1b94e
Triage the #387 tests against the composed sampler
stephengreen Jul 14, 2026
7d33990
Ignore CLAUDE.local.md
stephengreen Jul 14, 2026
f78d956
Fix device handling for table-rooted chains on CUDA
stephengreen Jul 14, 2026
b113a4e
Add unit tests for importance-sampling prior updates
stephengreen Jul 14, 2026
76fdf1d
Stop update_prior mutating the caller's dict
stephengreen Jul 14, 2026
2db75f3
Take the DINGO-BNS reference from INSPIRE
stephengreen Jul 14, 2026
f20edf5
Temporarily omit the docs figures to probe the ultrareview size cap
stephengreen Jul 14, 2026
0591e4d
Revert "Temporarily omit the docs figures to probe the ultrareview si…
stephengreen Jul 14, 2026
bc0ac94
Report the phase-maximized SNR under phase marginalization
stephengreen Jul 14, 2026
e6ac3bc
Fix review leftovers: legacy import and help-text typo
stephengreen Jul 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,9 @@ dmypy.json
# .DS_Store files for Mac OS
.DS_Store

# Claude Code personal notes
CLAUDE.local.md

# directories with temporary files
**/tmp_files/*

Expand Down
28 changes: 18 additions & 10 deletions compatibility/remove_domain_window_factor.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,32 @@ def main():
if path.suffix == ".hdf5":
with h5py.File(path, "r+") as f:
settings = ast.literal_eval(f.attrs["settings"])
try:
if "domain" in settings:
del settings["domain"]["window_factor"]
elif "domain_dict" in settings:
del settings["domain_dict"]["window_factor"]
domain_settings = settings.get("domain", settings.get("domain_dict"))
if domain_settings is not None and _remove_window_factor(domain_settings):
f.attrs["settings"] = str(settings)
except KeyError:
else:
print("Dataset is already in correct format.")

elif path.suffix == ".pt":
d, _ = torch_load_with_fallback(args.checkpoint)
d, _ = torch_load_with_fallback(path)

try:
del d["metadata"]["dataset_settings"]["domain"]["window_factor"]
domain_settings = d["metadata"]["dataset_settings"]["domain"]
if _remove_window_factor(domain_settings):
torch.save(d, path)
except KeyError:
else:
print("Dataset is already in correct format.")


def _remove_window_factor(domain_settings: dict) -> bool:
"""Delete `window_factor` from the domain settings, including a multibanded
domain's nested base domain. Returns whether anything was removed."""
removed = False
for settings in (domain_settings, domain_settings.get("base_domain", {})):
if "window_factor" in settings:
del settings["window_factor"]
removed = True
return removed


if __name__ == "__main__":
main()
9 changes: 5 additions & 4 deletions dingo/core/dataset.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from pathlib import Path
from typing import List, Optional, Union
import ast
import h5py
Expand Down Expand Up @@ -93,7 +94,7 @@ class DingoDataset:

def __init__(
self,
file_name: Optional[str] = None,
file_name: Optional[Union[str, Path]] = None,
dictionary: Optional[dict] = None,
data_keys: Optional[List] = None,
leave_on_disk_keys: Optional[list] = None,
Expand All @@ -104,7 +105,7 @@ def __init__(

Parameters
----------
file_name : str
file_name : str or Path
HDF5 file containing a dataset
dictionary : dict
Contains settings and data entries. The data keys should be the same as
Expand Down Expand Up @@ -135,7 +136,7 @@ def __init__(
elif dictionary is not None:
self.from_dictionary(dictionary)

def to_file(self, file_name: str, mode: str = "w"):
def to_file(self, file_name: Union[str, Path], mode: str = "w"):
print("Saving dataset to " + str(file_name))
save_dict = {
k: v
Expand All @@ -149,7 +150,7 @@ def to_file(self, file_name: str, mode: str = "w"):
if self.dataset_type:
f.attrs["dataset_type"] = self.dataset_type

def from_file(self, file_name: str):
def from_file(self, file_name: Union[str, Path]):
print(f"Loading dataset from {str(file_name)}.")
if self._leave_on_disk_keys:
print(f"Omitting data keys {self._leave_on_disk_keys}.")
Expand Down
Loading