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

Lava va #740

Draft
wants to merge 65 commits into
base: main
Choose a base branch
from
Draft

Lava va #740

wants to merge 65 commits into from

Conversation

epaxon
Copy link
Contributor

@epaxon epaxon commented Jul 19, 2023

Issue Number:

Objective of pull request:

Review addition frameworks and networks modules for lava

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?

What is the new behavior?

  • Add frameworks and networks core objects to lava main. Enable algebraic vector operator overloading

Does this introduce a breaking change?

  • Yes
  • No

Supplemental information

bamsumit and others added 21 commits October 24, 2023 10:07
* 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>
* 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>
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>
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>
Updated the installation branch to the most recent version.

Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
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>
* 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 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 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>
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>
…ts (#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 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
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>
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>
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.

None yet