-
Notifications
You must be signed in to change notification settings - Fork 144
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
CLP Tutorial 02: COIL-100 #721
Conversation
Please ignore everything except the new tutorial notebook |
feature extraction added
features for COIL-100; toch as optional dependency
The significant update to this PR includes:
|
The tests for CLP tutorials are commented out temporarily, till sk-learn is added to CI. Once that happens, I will add these tests before merge |
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.
sk-learn should be added in pyproject.toml
* CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * clp tutorial01 v1 * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * clp tutorial01 ready to be roughly finished * linting, license and utils fixes * CLP on COIL-100, extracted features from 42 objects, tutorial01 fixes * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * clp tutorial 2, 20 class experiments (Coil-100) * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * CLP tutorial 1 is finalized * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * tutorial 2 use new abstracted CLP class * CLP tutorial 2: unsupervised and supervised experiments are seperated * addressed reviewer's requests, added tests, removed pics etc * Update clp.py fix linting * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * CLP class and experiments improved; pytorch dependency removed; feature extraction added * Allocator accepts arbitrary initial index as param * New experiments; improved CLP class; continuous experimentation; new features for COIL-100; toch as optional dependency * linting fixes * Temporarily skipping CLP tutorials test till sk-learn is added * scikit-learn added to poetry; tutorial tst is re-enabled --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]>
* prod neuron * trying to get prod neuron to work... * trying to get prod neuron cpu to work... * prod neuron process cpu backend working with unit test * remove init file from prod_neuron * gradedvec process and test * working on norm vec * fixed prod neuron license headers * invsqrt model and tests, reconfigured to process and models * normvecdelay and tests, timing weirdness with normvecdelay * test for second channel of norm vec * renamed to prodneuron. * fixing some linting errors * cleanup * frameworks and networks added to lava-nc * adding some docstring, fixing unused imports * Fix partition parse bug for internal vLab (#741) * Adding deprecated lava.utils.system. * Update system.py * Update system.py * Bugfix for missing fields in sinfo. --------- Co-authored-by: PhilippPlank <[email protected]> * Add linting tutorials folder (#742) * serialization first try * first try * serialization implementation + unittests * fix linting * fix bandit * fix unittest * fix codacy * added tutorial * Update tutorial11_serialization.ipynb * added notebook to unit tests * Fixed broken link in tutorial. * fix linting * add tutorials folder to CI linting check * Update ci.yml * fix bug --------- Co-authored-by: Mathis Richter <[email protected]> * Iterator callback fx signature fix (#743) * update refport unittest to always wait when it writes to port for consistent behavior Signed-off-by: bamsumit <[email protected]> * Removed pyproject changes Signed-off-by: bamsumit <[email protected]> * Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions. Signed-off-by: bamsumit <[email protected]> * Missing moudle parent fix Signed-off-by: bamsumit <[email protected]> * Added ConvVarModel * Added iterable callback function Signed-off-by: bamsumit <[email protected]> * Fix codacy issues in callback_fx.py * Fix linting in callback_fx.py * Fix codacy sig issue in callback_fx.py --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> * Bugfix to pass the args by keyword (#744) * CLP Tutorial 01 Only (#746) * CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * clp tutorial01 v1 * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * clp tutorial01 ready to be roughly finished * linting, license and utils fixes * CLP on COIL-100, extracted features from 42 objects, tutorial01 fixes * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * clp tutorial 2, 20 class experiments (Coil-100) * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * CLP tutorial 1 is finalized * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * tutorial 2 use new abstracted CLP class * CLP tutorial 2: unsupervised and supervised experiments are seperated * addressed reviewer's requests, added tests, removed pics etc * Update clp.py fix linting * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Removed sklearn dependency. Now np data gen. * rm COIL tutorial, dataset, tests from branch --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Elvin Hajizada <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]> * Update release job, add pypi upload, github release creation (#737) * Add pypi upload, github release creation in cd.yml * Set version to 0.8.0.dev0 * Add readme to pyproject.toml * use v1.3 of composite action * Test run of release creation/pypi pub in cd.yml * Run tests from py 3.10 in cd.yml * Fix export of output vars in cd.yml --------- Co-authored-by: PhilippPlank <[email protected]> * Update release job, pypi auth Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Use github pypi auth in release job (#747) * Update release job, pypi auth Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Add id-token to cd.yml --------- Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> Co-authored-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Release 0.8.0 Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Fix conv python model to send() before recv() (#751) Co-authored-by: Gavin Parpart <[email protected]> * Adds support for Monitor a Port to observe if it is blocked (#755) * Adds support for Monitor a Port to observe if it is blocked * Fix lint issues * Redesigned Watchdog to use Multiprocessing Manager; Invoke only 2 Event Monitors and use 2 queues for watching events; Configs are piped in via compiler now * Incorporate Codacy Suggestions * Fix lint comments * Fix failing unit tests to add the watchdog builder * Code review comments * Set version to dev0 in pyproject.toml * Update README.md Updated version in install instructions. * Update README.md (#758) Updated the installation branch to the most recent version. Co-authored-by: PhilippPlank <[email protected]> * Fix DelayDense buffer issue (#767) * update refport unittest to always wait when it writes to port for consistent behavior Signed-off-by: bamsumit <[email protected]> * Removed pyproject changes Signed-off-by: bamsumit <[email protected]> * Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions. Signed-off-by: bamsumit <[email protected]> * Missing moudle parent fix Signed-off-by: bamsumit <[email protected]> * Added ConvVarModel * Added iterable callback function Signed-off-by: bamsumit <[email protected]> * Fix codacy issues in callback_fx.py * Fix linting in callback_fx.py * Fix codacy sig issue in callback_fx.py * Bugfix to pass the args by keyword * Delay Dense PyModel fix Signed-off-by: bamsumit <[email protected]> * Fixed unittests Signed-off-by: bamsumit <[email protected]> * Fixed sparse delay Signed-off-by: bamsumit <[email protected]> --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> * Allow np.array as input weights for Sparse (#772) * ndarray as input weights for Sparse * docs * codacy * remove implementation details from docstring and from tests * move tests to corresponding classes * put weight casting into extra method * Removed unused import --------- Co-authored-by: Mathis Richter <[email protected]> * Bump tornado from 6.3.2 to 6.3.3 (#778) Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.3.2 to 6.3.3. - [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst) - [Commits](tornadoweb/tornado@v6.3.2...v6.3.3) --- updated-dependencies: - dependency-name: tornado dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump cryptography from 41.0.2 to 41.0.3 (#779) Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.2 to 41.0.3. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](pyca/cryptography@41.0.2...41.0.3) --- updated-dependencies: - dependency-name: cryptography dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mathis Richter <[email protected]> * small docstring, typing and other formatting changes * Update README.md (#758) Updated the installation branch to the most recent version. Co-authored-by: PhilippPlank <[email protected]> * small docstring, typing and other formatting changes * doc strings for graded vec * Bump gitpython from 3.1.32 to 3.1.35 (#785) Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.32 to 3.1.35. - [Release notes](https://github.com/gitpython-developers/GitPython/releases) - [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES) - [Commits](gitpython-developers/GitPython@3.1.32...3.1.35) --- updated-dependencies: - dependency-name: gitpython dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fixing merge conflicts on prodneuron * Merge Spike IO (#786) * Made changes to channel builder for SpikeIO * Added ChannelStub to configure channels * Added NcSpikeIOVarModel * Refined the NcSpikeIOVarModel * Add interface_type and populate it in SpikeIOVarModel * Add Interface Type * Test PyNcChannel for Dense and Sparse Data using Unix Message Queues * Faster encoding for sparse csp_port.send * Added msg_queue_id to NcSpikeIOVarModel * Added defaults for ByteEncoder * Add advance_io API to PyOutPort * Rename and refactor ConnectionConfig * Only create channels for ChannelBuilderPyNc; Ignore ChannelBuilderNx * Added spike_io_port to connection config and var model * Integrate lower C level code, fix Lava bugs * Fix merge * Add enum for spike io mode and add it to ConnectionConfig and SpikeIO Var Model * Fix indices dtype in sparse send to int32 * Add advance_time API to PyLoihiProcessModel * Initial commit for spikeio output mode * Rename to advance_to_time_step API * Switch to TIME_COMPARE mode as default * Commit for Spike Block Output Mode * Move the axon allocation to 2 instead of 1 for output side * Create a new config for watchdog and print warning; Set PyProcCompiler SpikeCounter Offset to None when object gets deleted * Expose Mac Address, Num Input Buckets and Use Ethernet Interface from ConnectionConfig * Fix lint specific errors * fix codacy errors * Fix an issue with length of connection_config list * Fix unit tests --------- Co-authored-by: yashward <[email protected]> Co-authored-by: Julia <[email protected]> * CLP tutorial 1 small patch (#773) * CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * fix figures, removed redundant cell --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]> * CLP Tutorial 02: COIL-100 (#721) * CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * clp tutorial01 v1 * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * clp tutorial01 ready to be roughly finished * linting, license and utils fixes * CLP on COIL-100, extracted features from 42 objects, tutorial01 fixes * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * clp tutorial 2, 20 class experiments (Coil-100) * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * CLP tutorial 1 is finalized * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * tutorial 2 use new abstracted CLP class * CLP tutorial 2: unsupervised and supervised experiments are seperated * addressed reviewer's requests, added tests, removed pics etc * Update clp.py fix linting * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * CLP class and experiments improved; pytorch dependency removed; feature extraction added * Allocator accepts arbitrary initial index as param * New experiments; improved CLP class; continuous experimentation; new features for COIL-100; toch as optional dependency * linting fixes * Temporarily skipping CLP tutorials test till sk-learn is added * scikit-learn added to poetry; tutorial tst is re-enabled --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]> * Bump cryptography from 41.0.3 to 41.0.4 (#790) Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.3 to 41.0.4. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](pyca/cryptography@41.0.3...41.0.4) --- updated-dependencies: - dependency-name: cryptography dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Generalize int shape check in injector and extractor to take numpy ints (#792) * update refport unittest to always wait when it writes to port for consistent behavior Signed-off-by: bamsumit <[email protected]> * Removed pyproject changes Signed-off-by: bamsumit <[email protected]> * Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions. Signed-off-by: bamsumit <[email protected]> * Missing moudle parent fix Signed-off-by: bamsumit <[email protected]> * Added ConvVarModel * Added iterable callback function Signed-off-by: bamsumit <[email protected]> * Fix codacy issues in callback_fx.py * Fix linting in callback_fx.py * Fix codacy sig issue in callback_fx.py * Bugfix to pass the args by keyword * Delay Dense PyModel fix Signed-off-by: bamsumit <[email protected]> * Fixed unittests Signed-off-by: bamsumit <[email protected]> * Fixed sparse delay Signed-off-by: bamsumit <[email protected]> * IO modules fixes Signed-off-by: bamsumit <[email protected]> * IO modules fixes Signed-off-by: bamsumit <[email protected]> --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> * Resfire (#787) * resfire process and fixed process model * changed vth->uth in RFZero. Added tests. * removed unused imports * unused imports, copyright statement. * bsd license on resfire models.py * Bump pillow from 10.0.0 to 10.0.1 (#794) Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.0 to 10.0.1. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) - [Commits](python-pillow/Pillow@10.0.0...10.0.1) --- updated-dependencies: - dependency-name: pillow dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: PhilippPlank <[email protected]> * Bump urllib3 from 1.26.16 to 1.26.17 (#793) Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.16 to 1.26.17. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@1.26.16...1.26.17) --- updated-dependencies: - dependency-name: urllib3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: PhilippPlank <[email protected]> * mulitply for threshvec, fixes to frameworks imports, fixes for resfire network * rename ThreshVec to GradedVec and fixes. * lava VA tutorials. * slight updates to lava_va tutorials and removed csr_matrix cast * super needed, formatting, fixed test_network * Automatically create identity connections when using lva to connect vectors * NetworkList to keep track of + Networks. More flexibility in algebra syntax. * Updated tutorial 1 to demo automatic vec2vec connections and better + overloading * Updates to Tutorial01 that show automatic identity connections when connecting AlgebraicVectors and syntax. * Comments, docstrings, typing clean-up. * changing embedded io import location, in case theres no lava-loihi. * small codacy fixes. Test lava va tutorials. * Cleanup comments on test_graded.py and test_tutorials-lva.py --------- Signed-off-by: bamsumit <[email protected]> Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Tim Shea <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Mathis Richter <[email protected]> Co-authored-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: Danielle Rager <[email protected]> Co-authored-by: Elvin Hajizada <[email protected]> Co-authored-by: Marcus G K Williams <Marcus G K Williams [email protected]> Co-authored-by: Gavin Parpart <[email protected]> Co-authored-by: Gavin Parpart <[email protected]> Co-authored-by: Alexander Henkes <[email protected]> Co-authored-by: Svea Marie Meyer <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: yashward <[email protected]> Co-authored-by: Julia <[email protected]>
* CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * clp tutorial01 v1 * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * clp tutorial01 ready to be roughly finished * linting, license and utils fixes * CLP on COIL-100, extracted features from 42 objects, tutorial01 fixes * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * clp tutorial 2, 20 class experiments (Coil-100) * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * CLP tutorial 1 is finalized * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * tutorial 2 use new abstracted CLP class * CLP tutorial 2: unsupervised and supervised experiments are seperated * addressed reviewer's requests, added tests, removed pics etc * Update clp.py fix linting * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * CLP class and experiments improved; pytorch dependency removed; feature extraction added * Allocator accepts arbitrary initial index as param * New experiments; improved CLP class; continuous experimentation; new features for COIL-100; toch as optional dependency * linting fixes * Temporarily skipping CLP tutorials test till sk-learn is added * scikit-learn added to poetry; tutorial tst is re-enabled --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]>
* prod neuron * trying to get prod neuron to work... * trying to get prod neuron cpu to work... * prod neuron process cpu backend working with unit test * remove init file from prod_neuron * gradedvec process and test * working on norm vec * fixed prod neuron license headers * invsqrt model and tests, reconfigured to process and models * normvecdelay and tests, timing weirdness with normvecdelay * test for second channel of norm vec * renamed to prodneuron. * fixing some linting errors * cleanup * frameworks and networks added to lava-nc * adding some docstring, fixing unused imports * Fix partition parse bug for internal vLab (lava-nc#741) * Adding deprecated lava.utils.system. * Update system.py * Update system.py * Bugfix for missing fields in sinfo. --------- Co-authored-by: PhilippPlank <[email protected]> * Add linting tutorials folder (lava-nc#742) * serialization first try * first try * serialization implementation + unittests * fix linting * fix bandit * fix unittest * fix codacy * added tutorial * Update tutorial11_serialization.ipynb * added notebook to unit tests * Fixed broken link in tutorial. * fix linting * add tutorials folder to CI linting check * Update ci.yml * fix bug --------- Co-authored-by: Mathis Richter <[email protected]> * Iterator callback fx signature fix (lava-nc#743) * update refport unittest to always wait when it writes to port for consistent behavior Signed-off-by: bamsumit <[email protected]> * Removed pyproject changes Signed-off-by: bamsumit <[email protected]> * Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions. Signed-off-by: bamsumit <[email protected]> * Missing moudle parent fix Signed-off-by: bamsumit <[email protected]> * Added ConvVarModel * Added iterable callback function Signed-off-by: bamsumit <[email protected]> * Fix codacy issues in callback_fx.py * Fix linting in callback_fx.py * Fix codacy sig issue in callback_fx.py --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> * Bugfix to pass the args by keyword (lava-nc#744) * CLP Tutorial 01 Only (lava-nc#746) * CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * clp tutorial01 v1 * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * clp tutorial01 ready to be roughly finished * linting, license and utils fixes * CLP on COIL-100, extracted features from 42 objects, tutorial01 fixes * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * clp tutorial 2, 20 class experiments (Coil-100) * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * CLP tutorial 1 is finalized * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * tutorial 2 use new abstracted CLP class * CLP tutorial 2: unsupervised and supervised experiments are seperated * addressed reviewer's requests, added tests, removed pics etc * Update clp.py fix linting * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Removed sklearn dependency. Now np data gen. * rm COIL tutorial, dataset, tests from branch --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Elvin Hajizada <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]> * Update release job, add pypi upload, github release creation (lava-nc#737) * Add pypi upload, github release creation in cd.yml * Set version to 0.8.0.dev0 * Add readme to pyproject.toml * use v1.3 of composite action * Test run of release creation/pypi pub in cd.yml * Run tests from py 3.10 in cd.yml * Fix export of output vars in cd.yml --------- Co-authored-by: PhilippPlank <[email protected]> * Update release job, pypi auth Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Use github pypi auth in release job (lava-nc#747) * Update release job, pypi auth Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Add id-token to cd.yml --------- Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> Co-authored-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Release 0.8.0 Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> * Fix conv python model to send() before recv() (lava-nc#751) Co-authored-by: Gavin Parpart <[email protected]> * Adds support for Monitor a Port to observe if it is blocked (lava-nc#755) * Adds support for Monitor a Port to observe if it is blocked * Fix lint issues * Redesigned Watchdog to use Multiprocessing Manager; Invoke only 2 Event Monitors and use 2 queues for watching events; Configs are piped in via compiler now * Incorporate Codacy Suggestions * Fix lint comments * Fix failing unit tests to add the watchdog builder * Code review comments * Set version to dev0 in pyproject.toml * Update README.md Updated version in install instructions. * Update README.md (lava-nc#758) Updated the installation branch to the most recent version. Co-authored-by: PhilippPlank <[email protected]> * Fix DelayDense buffer issue (lava-nc#767) * update refport unittest to always wait when it writes to port for consistent behavior Signed-off-by: bamsumit <[email protected]> * Removed pyproject changes Signed-off-by: bamsumit <[email protected]> * Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions. Signed-off-by: bamsumit <[email protected]> * Missing moudle parent fix Signed-off-by: bamsumit <[email protected]> * Added ConvVarModel * Added iterable callback function Signed-off-by: bamsumit <[email protected]> * Fix codacy issues in callback_fx.py * Fix linting in callback_fx.py * Fix codacy sig issue in callback_fx.py * Bugfix to pass the args by keyword * Delay Dense PyModel fix Signed-off-by: bamsumit <[email protected]> * Fixed unittests Signed-off-by: bamsumit <[email protected]> * Fixed sparse delay Signed-off-by: bamsumit <[email protected]> --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> * Allow np.array as input weights for Sparse (lava-nc#772) * ndarray as input weights for Sparse * docs * codacy * remove implementation details from docstring and from tests * move tests to corresponding classes * put weight casting into extra method * Removed unused import --------- Co-authored-by: Mathis Richter <[email protected]> * Bump tornado from 6.3.2 to 6.3.3 (lava-nc#778) Bumps [tornado](https://github.com/tornadoweb/tornado) from 6.3.2 to 6.3.3. - [Changelog](https://github.com/tornadoweb/tornado/blob/master/docs/releases.rst) - [Commits](tornadoweb/tornado@v6.3.2...v6.3.3) --- updated-dependencies: - dependency-name: tornado dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump cryptography from 41.0.2 to 41.0.3 (lava-nc#779) Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.2 to 41.0.3. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](pyca/cryptography@41.0.2...41.0.3) --- updated-dependencies: - dependency-name: cryptography dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mathis Richter <[email protected]> * small docstring, typing and other formatting changes * Update README.md (lava-nc#758) Updated the installation branch to the most recent version. Co-authored-by: PhilippPlank <[email protected]> * small docstring, typing and other formatting changes * doc strings for graded vec * Bump gitpython from 3.1.32 to 3.1.35 (lava-nc#785) Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.32 to 3.1.35. - [Release notes](https://github.com/gitpython-developers/GitPython/releases) - [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES) - [Commits](gitpython-developers/GitPython@3.1.32...3.1.35) --- updated-dependencies: - dependency-name: gitpython dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fixing merge conflicts on prodneuron * Merge Spike IO (lava-nc#786) * Made changes to channel builder for SpikeIO * Added ChannelStub to configure channels * Added NcSpikeIOVarModel * Refined the NcSpikeIOVarModel * Add interface_type and populate it in SpikeIOVarModel * Add Interface Type * Test PyNcChannel for Dense and Sparse Data using Unix Message Queues * Faster encoding for sparse csp_port.send * Added msg_queue_id to NcSpikeIOVarModel * Added defaults for ByteEncoder * Add advance_io API to PyOutPort * Rename and refactor ConnectionConfig * Only create channels for ChannelBuilderPyNc; Ignore ChannelBuilderNx * Added spike_io_port to connection config and var model * Integrate lower C level code, fix Lava bugs * Fix merge * Add enum for spike io mode and add it to ConnectionConfig and SpikeIO Var Model * Fix indices dtype in sparse send to int32 * Add advance_time API to PyLoihiProcessModel * Initial commit for spikeio output mode * Rename to advance_to_time_step API * Switch to TIME_COMPARE mode as default * Commit for Spike Block Output Mode * Move the axon allocation to 2 instead of 1 for output side * Create a new config for watchdog and print warning; Set PyProcCompiler SpikeCounter Offset to None when object gets deleted * Expose Mac Address, Num Input Buckets and Use Ethernet Interface from ConnectionConfig * Fix lint specific errors * fix codacy errors * Fix an issue with length of connection_config list * Fix unit tests --------- Co-authored-by: yashward <[email protected]> Co-authored-by: Julia <[email protected]> * CLP tutorial 1 small patch (lava-nc#773) * CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * fix figures, removed redundant cell --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]> * CLP Tutorial 02: COIL-100 (lava-nc#721) * CLP initial commit: PrototypeLIF, NoveltyDetector, Readout procs/tests * small linting fix * Novelty detector upgraded to target next neuron; codacy errors fixed * integration test; small fixes * removed duplicate code in prototypeLIF process; linting fixes * linting fixes * Linting and codacy fixes * remove duplicate test; some more codacy fixes * clp tutorial01 v1 * PrototypeLIF spikes when it recieves a 3rd factor input * a test for PrototypeLIF output spike after 3rd factor input * clp tutorial01 ready to be roughly finished * linting, license and utils fixes * CLP on COIL-100, extracted features from 42 objects, tutorial01 fixes * Allocation & prototype id tracking is abstracted away from NoveltyDetector * Allocator process; Readout proc sends allocation trigger if error * introduce learning rate Var in PrototypeLIF * updated integration tests; full system test included * Linting fixes * Another small lintint fix * clp tutorial 2, 20 class experiments (Coil-100) * PrototypeLIF hard reset capability to enable faster temporal WTA * allocation mechanism changed; proc interfaces changes; dense conns added; lr var removed * small linting fix * small codacy fix * prints removed, spelling mistakes fixed * ignoring one check in an integration test * Revert "small linting fix" This reverts commit bde4fa9. * CLP tutorial 1 is finalized * Fix linting in test_models.py * Test fix in utils.py * Fix test of bug fix in utils.py * Fix utils.py * Implemented individual threadsafe random call Signed-off-by: bamsumit <[email protected]> * tutorial 2 use new abstracted CLP class * CLP tutorial 2: unsupervised and supervised experiments are seperated * addressed reviewer's requests, added tests, removed pics etc * Update clp.py fix linting * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * Update tutorial01_one-shot_learning_with_novelty_detection.ipynb * Update tutorial02_clp_on_coil100.ipynb * CLP class and experiments improved; pytorch dependency removed; feature extraction added * Allocator accepts arbitrary initial index as param * New experiments; improved CLP class; continuous experimentation; new features for COIL-100; toch as optional dependency * linting fixes * Temporarily skipping CLP tutorials test till sk-learn is added * scikit-learn added to poetry; tutorial tst is re-enabled --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: bamsumit <[email protected]> * Bump cryptography from 41.0.3 to 41.0.4 (lava-nc#790) Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.3 to 41.0.4. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](pyca/cryptography@41.0.3...41.0.4) --- updated-dependencies: - dependency-name: cryptography dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Generalize int shape check in injector and extractor to take numpy ints (lava-nc#792) * update refport unittest to always wait when it writes to port for consistent behavior Signed-off-by: bamsumit <[email protected]> * Removed pyproject changes Signed-off-by: bamsumit <[email protected]> * Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions. Signed-off-by: bamsumit <[email protected]> * Missing moudle parent fix Signed-off-by: bamsumit <[email protected]> * Added ConvVarModel * Added iterable callback function Signed-off-by: bamsumit <[email protected]> * Fix codacy issues in callback_fx.py * Fix linting in callback_fx.py * Fix codacy sig issue in callback_fx.py * Bugfix to pass the args by keyword * Delay Dense PyModel fix Signed-off-by: bamsumit <[email protected]> * Fixed unittests Signed-off-by: bamsumit <[email protected]> * Fixed sparse delay Signed-off-by: bamsumit <[email protected]> * IO modules fixes Signed-off-by: bamsumit <[email protected]> * IO modules fixes Signed-off-by: bamsumit <[email protected]> --------- Signed-off-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> * Resfire (lava-nc#787) * resfire process and fixed process model * changed vth->uth in RFZero. Added tests. * removed unused imports * unused imports, copyright statement. * bsd license on resfire models.py * Bump pillow from 10.0.0 to 10.0.1 (lava-nc#794) Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.0 to 10.0.1. - [Release notes](https://github.com/python-pillow/Pillow/releases) - [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) - [Commits](python-pillow/Pillow@10.0.0...10.0.1) --- updated-dependencies: - dependency-name: pillow dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: PhilippPlank <[email protected]> * Bump urllib3 from 1.26.16 to 1.26.17 (lava-nc#793) Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.16 to 1.26.17. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@1.26.16...1.26.17) --- updated-dependencies: - dependency-name: urllib3 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: PhilippPlank <[email protected]> * mulitply for threshvec, fixes to frameworks imports, fixes for resfire network * rename ThreshVec to GradedVec and fixes. * lava VA tutorials. * slight updates to lava_va tutorials and removed csr_matrix cast * super needed, formatting, fixed test_network * Automatically create identity connections when using lva to connect vectors * NetworkList to keep track of + Networks. More flexibility in algebra syntax. * Updated tutorial 1 to demo automatic vec2vec connections and better + overloading * Updates to Tutorial01 that show automatic identity connections when connecting AlgebraicVectors and syntax. * Comments, docstrings, typing clean-up. * changing embedded io import location, in case theres no lava-loihi. * small codacy fixes. Test lava va tutorials. * Cleanup comments on test_graded.py and test_tutorials-lva.py --------- Signed-off-by: bamsumit <[email protected]> Signed-off-by: Marcus G K Williams <Marcus G K Williams [email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Tim Shea <[email protected]> Co-authored-by: PhilippPlank <[email protected]> Co-authored-by: Mathis Richter <[email protected]> Co-authored-by: bamsumit <[email protected]> Co-authored-by: Joyesh Mishra <[email protected]> Co-authored-by: Marcus G K Williams <[email protected]> Co-authored-by: Danielle Rager <[email protected]> Co-authored-by: Elvin Hajizada <[email protected]> Co-authored-by: Marcus G K Williams <Marcus G K Williams [email protected]> Co-authored-by: Gavin Parpart <[email protected]> Co-authored-by: Gavin Parpart <[email protected]> Co-authored-by: Alexander Henkes <[email protected]> Co-authored-by: Svea Marie Meyer <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: yashward <[email protected]> Co-authored-by: Julia <[email protected]>
Issue Number:
#706
Objective of pull request:
Create the first tutorial on the initial version of CLP (Continually Learning Prototypes) algorithm, explaining how to set up and use the CLP processes from #706
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