Open ssinhaleite opened 4 months ago
I fixed a bunch of unit tests that broke during the last commits. tests/test_dynapcnnnetwork
is still failing because I converted NIRtoDynapcnnNetworkGraph.edges
to a set, so the order is not guaranteed anymore. I am currently handling the issue.
We will also have to see if we can still support batchnorm layers in the original SNN, and under which conditions. So far, sinabs supports that.
All unit tests passing on my machine :champagne:
Attention: Patch coverage is 87.16012%
with 170 lines
in your changes missing coverage. Please review.
Project coverage is 88.83%. Comparing base (
276eda3
) to head (347e225
). Report is 13 commits behind head on develop.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
All checks passing on the CI now (with warnings from codecov - we should probably add more unit tests eventually).
I have extended the to-do list in the original post to be more specific and complete. It should now mention everything that still needs to be addressed. Please feel free to add and tick off items when appropriate.
Checklist before requesting a review
Unit tests
[x] Tests for the changes have been added (for bug fixes/features)
[x] All tests are passing.
Documentation
[ ] Add tutorial(s) about how to deploy a non-sequential model
[ ] Fix any inconsistencies with existing documentation (e.g. changed function parameters, deprecated methods, etc.)
[ ] Add graph that shows developers how different classes interact
[ ] Make sure in-code documentation is complete (e.g. missing or incomplete docstrings)
[ ] CHANGELOG.md: Make sure to list any breaking changes
Review
[x] I have performed a self-review of my code
[ ] Address open suggestions from the review (typos etc)
[ ] Take care of all
TODO
s inside the codeWhat kind of change does this PR introduce? (Bug fix, feature, docs update, ...) New feature, including extensive changes in code, documentation and unit tests.
What is the current behavior? (You can also link to an open issue here) So far, only sequential models can be deployed on DynapCNN chips.
What is the new behavior (if this is a feature change)? Allow non-sequential SNNs (e.g. residuals, recurrent, ...) to be deployed on DynapCNN chips.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?) Potentially. Ideally for sequential SNNs there are no (or minimal) breaking changes, but this has to be assessed when reviewing this PR.
Other information: The changes are quite extensive, so reviewing this will take some time.