Skip to content
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

Resfire #787

Merged
merged 7 commits into from
Oct 6, 2023
Merged

Resfire #787

merged 7 commits into from
Oct 6, 2023

Conversation

epaxon
Copy link
Contributor

@epaxon epaxon commented Sep 19, 2023

Issue Number:

Objective of pull request:

Add resonate and fire neuron process that matches the loihi2 implementation.

Pull request checklist

Your PR fulfills the following requirements:

  • Issue created that explains the change and why it's needed
  • Tests are part of the PR (for bug fixes / features)
  • Docs reviewed and added / updated if needed (for bug fixes / features)
  • PR conforms to Coding Conventions
  • PR applys BSD 3-clause or LGPL2.1+ Licenses to all code files
  • Lint (flakeheaven lint src/lava tests/) and (bandit -r src/lava/.) pass locally
  • Build tests (pytest) passes locally

Pull request type

Please check your PR type:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation changes
  • Other (please describe):

What is the current behavior?

  • RF currently available is CPU only

What is the new behavior?

  • RFZero is process that is matched to the loihi 2 process/ucode

Does this introduce a breaking change?

  • Yes
  • No

Supplemental information

Copy link
Contributor

@tim-shea tim-shea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good. Thanks!

src/lava/proc/resfire/process.py Show resolved Hide resolved
Copy link
Contributor

@bamsumit bamsumit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good Paxon, except the license in models.py

src/lava/proc/resfire/models.py Outdated Show resolved Hide resolved
@epaxon epaxon merged commit 8e6ca49 into main Oct 6, 2023
6 checks passed
epaxon added a commit that referenced this pull request Oct 25, 2023
* 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
epaxon added a commit that referenced this pull request Jun 25, 2024
* 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 <32519998+PhilippPlank@users.noreply.github.com>

* 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 <mathis.richter@intel.com>

* Iterator callback fx signature fix (#743)

* update refport unittest to always wait when it writes to port for consistent behavior

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Removed pyproject changes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions.

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Missing moudle parent fix

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Added ConvVarModel

* Added iterable callback function

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>

* 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 <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>
Co-authored-by: Elvin Hajizada <elvin.hajizada@intel.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>

* 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 <32519998+PhilippPlank@users.noreply.github.com>

* Update release job, pypi auth

Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>

* Use github pypi auth in release job (#747)

* Update release job, pypi auth

Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>

* Add id-token to cd.yml

---------

Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>

* Release 0.8.0

Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>

* Fix conv python model to send() before recv() (#751)

Co-authored-by: Gavin Parpart <gavin.parpart@pnnl.gov>

* 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 <32519998+PhilippPlank@users.noreply.github.com>

* Fix DelayDense buffer issue (#767)

* update refport unittest to always wait when it writes to port for consistent behavior

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Removed pyproject changes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions.

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Missing moudle parent fix

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Added ConvVarModel

* Added iterable callback function

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>

* Fixed unittests

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fixed sparse delay

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

---------

Signed-off-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>

* 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 <mathis.richter@intel.com>

* 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] <support@github.com>
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mathis Richter <mathis.richter@intel.com>

* small docstring, typing and other formatting changes

* Update README.md (#758)

Updated the installation branch to the most recent version.

Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>

* 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] <support@github.com>
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 <yashwardhan.singh@intel.com>
Co-authored-by: Julia <julia.a.gould@intel.com>

* 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 <bam_sumit@hotmail.com>

* fix figures, removed redundant cell

---------

Signed-off-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>

* 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] <support@github.com>
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 <bam_sumit@hotmail.com>

* Removed pyproject changes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions.

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Missing moudle parent fix

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Added ConvVarModel

* Added iterable callback function

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>

* Fixed unittests

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fixed sparse delay

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* IO modules fixes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* IO modules fixes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

---------

Signed-off-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>

* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>

* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>

* 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 <bam_sumit@hotmail.com>
Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Tim Shea <tim-shea@users.noreply.github.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Mathis Richter <mathis.richter@intel.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: Danielle Rager <83376999+drager-intel@users.noreply.github.com>
Co-authored-by: Elvin Hajizada <elvin.hajizada@intel.com>
Co-authored-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>
Co-authored-by: Gavin Parpart <GGParpart@yahoo.com>
Co-authored-by: Gavin Parpart <gavin.parpart@pnnl.gov>
Co-authored-by: Alexander Henkes <62153181+ahenkes1@users.noreply.github.com>
Co-authored-by: Svea Marie Meyer <46671894+SveaMeyer13@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yashward <yashwardhan.singh@intel.com>
Co-authored-by: Julia <julia.a.gould@intel.com>
monkin77 pushed a commit to monkin77/thesis-lava that referenced this pull request Jul 12, 2024
* 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
monkin77 pushed a commit to monkin77/thesis-lava that referenced this pull request Jul 12, 2024
* 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 <32519998+PhilippPlank@users.noreply.github.com>

* 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 <mathis.richter@intel.com>

* 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 <bam_sumit@hotmail.com>

* Removed pyproject changes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions.

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Missing moudle parent fix

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Added ConvVarModel

* Added iterable callback function

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>

* 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 <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>
Co-authored-by: Elvin Hajizada <elvin.hajizada@intel.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>

* 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 <32519998+PhilippPlank@users.noreply.github.com>

* Update release job, pypi auth

Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>

* 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 168222+mgkwill@users.noreply.github.com>

* Add id-token to cd.yml

---------

Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>

* Release 0.8.0

Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>

* Fix conv python model to send() before recv() (lava-nc#751)

Co-authored-by: Gavin Parpart <gavin.parpart@pnnl.gov>

* 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 <32519998+PhilippPlank@users.noreply.github.com>

* 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 <bam_sumit@hotmail.com>

* Removed pyproject changes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions.

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Missing moudle parent fix

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Added ConvVarModel

* Added iterable callback function

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>

* Fixed unittests

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fixed sparse delay

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

---------

Signed-off-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>

* 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 <mathis.richter@intel.com>

* 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] <support@github.com>
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mathis Richter <mathis.richter@intel.com>

* 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 <32519998+PhilippPlank@users.noreply.github.com>

* 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] <support@github.com>
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 <yashwardhan.singh@intel.com>
Co-authored-by: Julia <julia.a.gould@intel.com>

* 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 <bam_sumit@hotmail.com>

* fix figures, removed redundant cell

---------

Signed-off-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>

* 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] <support@github.com>
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 <bam_sumit@hotmail.com>

* Removed pyproject changes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fix to convolution tests. Fixed imcompatible mnist_pretrained for old python versions.

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Missing moudle parent fix

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Added ConvVarModel

* Added iterable callback function

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* 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 <bam_sumit@hotmail.com>

* Fixed unittests

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* Fixed sparse delay

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* IO modules fixes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

* IO modules fixes

Signed-off-by: bamsumit <bam_sumit@hotmail.com>

---------

Signed-off-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>

* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>

* 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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>

* 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 <bam_sumit@hotmail.com>
Signed-off-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Tim Shea <tim-shea@users.noreply.github.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Mathis Richter <mathis.richter@intel.com>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>
Co-authored-by: Joyesh Mishra <joyesh.mishra@intel.com>
Co-authored-by: Marcus G K Williams <168222+mgkwill@users.noreply.github.com>
Co-authored-by: Danielle Rager <83376999+drager-intel@users.noreply.github.com>
Co-authored-by: Elvin Hajizada <elvin.hajizada@intel.com>
Co-authored-by: Marcus G K Williams <Marcus G K Williams 168222+mgkwill@users.noreply.github.com>
Co-authored-by: Gavin Parpart <GGParpart@yahoo.com>
Co-authored-by: Gavin Parpart <gavin.parpart@pnnl.gov>
Co-authored-by: Alexander Henkes <62153181+ahenkes1@users.noreply.github.com>
Co-authored-by: Svea Marie Meyer <46671894+SveaMeyer13@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: yashward <yashwardhan.singh@intel.com>
Co-authored-by: Julia <julia.a.gould@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants