This release features a lot of quality-of-life improvements. Most notably, we started testing for torch.compile
support, which gives us significant speedup. The improvements gained by moving to torch.compile
meant that we could safely remove the C++ code such that Norse now is a Python-only module. That means the installations should be significantly faster.
We also added initialization methods for spatial and temporal receptive fields, added support for NIR, cleaned up the docs, restructured the imports, removed unnecessary (and slow) try-catch clauses, and cleaned up dependencies.
New state tuples
We also added tentative support for a new StateTuple implementation based on PyTorch's pytrees, which makes it easier to operate on parameters. This allows us to cast parameters to devices or
p = LIFParameters(...) # Create a parameter
p.to("cuda:0") # Cast the parameters to a device
p.float() # Cast the parameters to floats.
Note that this is currently only implemented for LIFParameters
and LIFBoxParameters
. Let us know how it works!
What's Changed
- Feature li box by @Jegp in #367
- Feature rf by @Jegp in #368
- Added pytree state and support for torch.compile by @Jegp in #349
- Adds NIR export by @Jegp in #371
- Constrain pytorch-lightning version in example tasks README by @4iar in #372
- Feature rf by @Jegp in #376
- Feature docs by @Jegp in #380
- Feature nir by @Jegp in #379
- Fix typos by @omahs in #385
- Added tests for torch.compile by @Jegp in #386
- Improves spatial receptive field API by @Jegp in #387
- Remove broken workflows by @Jegp in #391
New Contributors
Full Changelog: v1.0.0...v1.1.0