-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dev/learning rc 0.5 #332
Dev/learning rc 0.5 #332
Conversation
…into dev/learning_rc_0.5
…into dev/learning_rc_0.5 � Conflicts: � src/lava/magma/core/learning/constants.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After the live code review, I suggest the following changes before we merge.
- Change the
Connection
base class back to its ownLearningDense
class for now until we have found a better solution. - Reorder the classes and methods in the modules by starting from the most important classes/methods at the top and putting everything that is used right underneath.
- Create an issue to unit test at least the user interface.
- Create an issue to refactor the code for reuse (removing the redundant implementation of the floating point and fixed point ProcModels).
Everything else looks good. Great job everyone!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only had a superficial look at the fixed-point ProcModel - looks good overall. See change requests for the PR in public Lava.
…into dev/learning_rc_0.5
* inheritance from base class * inheritance from base connection * floating point model * minor cleanup * added neuron base class * separate models from process files * rm init file * inherit from Neuron and Connection * merged LearningDense into Dense * release candidate 0.5a * beginning last clean * clean in progress * updated tutorial * changes according to checklist made. missing use of np.where refactor * changed evaluate_trace to use boolean indexing instead of np.where * removed BITS_ * lint and poetry update * moved tutorial to in_depth * Licenses * lint tests * poetry update * docstrings for connection and learning rule * fixing typo * minor optimization for floating point model * added learning related unit tests * added other learning related unit tests * refactored docstrings * merged Loihi1 and 2 LearningRules and added seed for RNGs * fixing failing tests * fixing lint errors * fixing lint errors * fixing failing tests * fixing failing tests * docstrings and minor changes * adding apply_mask to learning/utils * lint and rng seed * pulled pyproject and poetry from main * re-add asteval as dependency * vectorizing decompose_impulses, adding some constants * typos * return of the LearningDense class * Connection base class to reduce code duplication * lint * rm learning rule base class * minor bug fix * added tutorial for custom learning rules * added test for LearningDense process * pull lock and pyproject from main * added tests for multisynapse learning * use LearningDense in tests Co-authored-by: gkarray <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]>
Issue Number:
Objective of pull request:
This PR enables 2-factor online learning on CPU as a simulation of the Loihi learning engine.
The main changes are:
Pull request checklist
Your PR fulfills the following requirements:
flakeheaven lint src/lava tests/
) and (bandit -r src/lava/.
) pass locallypytest
) passes locallyPull request type
Please check your PR type:
What is the current behavior?
What is the new behavior?
Does this introduce a breaking change?
Supplemental information