Releases: RadarML/nrdk
v0.2.1
What's changed: DX Improvements by @thetianshuhuang in #21
Improvements to the developer experience:
- Better logging & error messages
- Only write high-level log messages from rank 0 in multi-GPU training to avoid cluttering the log
- Better looking outputs using rich trees for
nrdk inspect - Log gradient norm in
NRDKLightningModule
Other fixes:
- Only write
checkpoints.yamlfrom rank 0 to prevent concurrency bugs - Freeze models loaded with
framework.load_modelby default - Fix
@cache @torch.compiler.disableordering
Full Changelog: v0.2.0...v0.2.1
v0.2.0
Warning
This version includes breaking changes to model compilation:
NRDKLightningModule(compile: bool = False)has been removed; compilation should be manually invoked withNRDKLightningModule.compileinstead.- The GRT reference implementation also now recognizes a
meta.compileconfiguration option, and calls.compile()intrain.py.
What's Changed: Compile Overhaul by @thetianshuhuang in #20, with major changes to overhaul the torch.compile usage patterns:
torch.compileis now triggered at the top level instead of viaNRDKLightningModuleparameter- Add a
_typecheckabstraction, which currently handles jaxtyping/beartype import hooks as well as fully disabling the typechecker whenJAXTYPING_DISABLEis set, which is required for pytorchtorch.compilecompatibility - Fix a memory leak caused by
result.cpu().numpy()maintaining a reference to the originalresult.cpu()tensor by forcing a copy withnp.copy(result.cpu().numpy()). Without the copy, this somehow confuses the pytorch/python garbage collector and results in the original never being freed, even when all references are cleared - Fix miscellaneous torch.compile bugs and warnings
Other miscellaneous changes:
- Add the
PreventHydraOverwritecallback which can be used to prevent experiments from overwriting previous results - Fix some default configuration values to match the GRT paper
- Upgrade to the latest version of
abstract-dataloaderand other dependencies
Full Changelog: v0.1.7...v0.2.0
v0.1.7
What's Changed:
- GRT Model Fixes & Model Features by @thetianshuhuang in #18
- Test cases (plus bugfixes) by @thetianshuhuang in #19
Full Changelog: v0.1.6...v0.1.7
v0.1.6
What's Changed:
- Checkpoint Exporting & Bugfixes by @thetianshuhuang in #16
Model export improvements:
- Save model config in
nrdk export - Streamlined model exporting and loading
- Add link to GRT reference implementation pre-trained checkpoints on I/Q-1M
... And other miscellaneous improvements & fixes:
- Default GRT configuration corrections (
size/small/d_feedforward,model/*/scale,sensors/*/correction) - Add
Outputfor earlier stages to return final values inTransformerEncoderDecoder tile_imagesno longer pads with empty images if there are fewer samples thann_cols- Use
httpsreference tored-roverinstead ofsshto allow anonymousclone --recursive
Full Changelog: v0.1.5...v0.1.6
v0.1.5
What's Changed:
Miscellaneous improvements #11 by @thetianshuhuang:
- Improved logging
max_rangeoption for occupancy objective- Updated train/evaluation script from downstream
- Better documentation & badges
Full Changelog: v0.1.4...v0.1.5
v0.1.4
What's Changed: new CLI tools for managing results:
nrdk upgrade-config: swap out_target_implementations in hydra configsnrdk validate: check for missing files in results
Full Changelog: v0.1.3...v0.1.4
v0.1.3
What's Changed: Miscellaneous bugfixes and improvements:
- #6: Add support to using
XWRRadarIQ(assuming range bins are not padded) in addition toSpectrumDataas inputs toroverd.Occupancy2D,roverd.Occupancy3Dtransforms - #7: Add
prefetch_factor: int | Nonetoroverd.datamoduleto allow usingworkers=0 - #8: Change
tssCLI behavior to override--configvalues when parameters are explicitly specified
Full Changelog: v0.1.2...v0.1.3
v0.1.2
What's Changed: Added a new evaluation pipeline with associated tooling:
- New
evaluate.pyscript in the GRT reference / template - Specifications for a canonical output format with a
framework.Resultconvenience wrapper for this format
And some housekeeping tasks:
- Fix #4
- Revert
tsscalculation back to oldmax(rho, 0)formulation, but with an optionalt_max=for very long sequences - Workaround for a tensorboard bug related to handling images with multiple "/" characters in their names
Full Changelog: v0.1.1...v0.1.2
v0.1.1
What's Changed: overhaul of the GRT reference implementation and new project template.
- Move most of grt/models into a new nrdk.models shared "model zoo"
- Finished(ish) documentation for the GRT reference implementation
- Config cleanup; add test split to reference configs
Other tweaks:
- Add cropping/padding to PatchMerge
- Add a compile option for
NRDKLightningModuleto bypass compilation of the overall lightningmodule to handle misbehaving transforms/objectives - Pytorch has deprecated using
Sequence[...]types for indexing; add an explicittuple(...)cast everywhere. - Set up CI for docs, linter, type checker
Full Changelog: v0.1.0...v0.1.1
v0.1.0: initial versioned release
nrdk v0.1.0 provides an initial stable (ish) development release.
- The core
nrdklibrary is expected to be more or less final. - The GRT reference implementation is still unstable.