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

SigmaS4Delta Neuronmodel and Layer with Unittests #830

Merged
merged 8 commits into from
Jan 23, 2024
Merged

SigmaS4Delta Neuronmodel and Layer with Unittests #830

merged 8 commits into from
Jan 23, 2024

Conversation

smm-ncl
Copy link
Contributor

@smm-ncl smm-ncl commented Jan 18, 2024

Objective of pull request: Add S4D neurons.

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?

No S4D Neuromodel available

What is the new behavior?

SigmaS4Delta neuronmodel and layer implemented

Does this introduce a breaking change?

  • Yes
  • [ x] No

Copy link
Contributor

@weidel-p weidel-p left a comment

Choose a reason for hiding this comment

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

This looks fine for me apart from the minor comments I left.

src/lava/proc/s4d/process.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/utils.py Outdated Show resolved Hide resolved
Copy link
Contributor

@gkarray gkarray 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 overall! I left a few minor comments about docstring formats.
I will approve to unblock you.

src/lava/proc/s4d/models.py Outdated Show resolved Hide resolved
src/lava/proc/s4d/process.py Outdated Show resolved Hide resolved
src/lava/proc/s4d/process.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/utils.py Outdated Show resolved Hide resolved
Copy link
Contributor

@PhilippPlank PhilippPlank left a comment

Choose a reason for hiding this comment

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

Please adjust the copyright headers. New files should have just 2024, modified existing files should be 202x-2024.

src/lava/proc/s4d/models.py Outdated Show resolved Hide resolved
src/lava/proc/s4d/process.py Outdated Show resolved Hide resolved
src/lava/proc/sdn/process.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/test_models.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/test_process.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/utils.py Outdated Show resolved Hide resolved
Copy link
Contributor

@mathisrichter mathisrichter left a comment

Choose a reason for hiding this comment

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

I mostly remarked on naming issues. I'll leave the actual review to others.

src/lava/proc/s4d/models.py Outdated Show resolved Hide resolved
src/lava/proc/s4d/models.py Outdated Show resolved Hide resolved
src/lava/proc/s4d/models.py Outdated Show resolved Hide resolved
src/lava/proc/s4d/models.py Show resolved Hide resolved
src/lava/proc/s4d/models.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/test_models.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/test_models.py Outdated Show resolved Hide resolved
tests/lava/proc/s4d/test_process.py Show resolved Hide resolved
tests/lava/proc/s4d/test_process.py Outdated Show resolved Hide resolved
src/lava/proc/s4d/process.py Outdated Show resolved Hide resolved
@smm-ncl smm-ncl merged commit 881d87e into main Jan 23, 2024
6 checks passed
@smm-ncl smm-ncl deleted the S4 branch January 23, 2024 17:22
srrisbud added a commit that referenced this pull request May 16, 2024
* Explicitly keep track of all Processes in the Executable to make sure all Processes are assigned the Runtime

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* A utility to measure the size of a python object recursively. Useful for example, to measure the size of NxBoard object after compilation

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* Removed the utility to estimate Python object size

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* Fixed Runtime unittest to accommodate passing an explicit ProcessList to the Executable

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* Removed unused import

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* LearningDense bit-accurate (#812)

* minor change in dependency computation

* updating stochastic round type hint

* small fix in clip_weights

* progress in making tests pass

* fixing Sparse init

* trying tests

* adapting init method of LearningDense Process

---------

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

* Bump fonttools from 4.41.1 to 4.43.0 (#824)

Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.41.1 to 4.43.0.
- [Release notes](https://github.com/fonttools/fonttools/releases)
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst)
- [Commits](fonttools/fonttools@4.41.1...4.43.0)

---
updated-dependencies:
- dependency-name: fonttools
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump gitpython from 3.1.37 to 3.1.41 (#825)

Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.37 to 3.1.41.
- [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.37...3.1.41)

---
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>

* SigmaS4Delta Neuronmodel and Layer with Unittests (#830)

* first wokring version

* S4D model cleaned

* update license

* fix imports

* linting

* incorporate reviews

* update docstring

* Bump pillow from 10.0.1 to 10.2.0 (#832)

Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.1 to 10.2.0.
- [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.1...10.2.0)

---
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>

* [QUBO] Solution readout via spikeIO for multi-chip support (#820)

* 32bit receiver

* linting

---------

Co-authored-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* Bump cryptography from 41.0.6 to 42.0.0 (#834)

Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.6 to 42.0.0.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@41.0.6...42.0.0)

---
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>

* Bump cryptography from 42.0.0 to 42.0.2 (#836)

Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.0 to 42.0.2.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@42.0.0...42.0.2)

---
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>

* Bump cryptography from 42.0.2 to 42.0.4 (#837)

Bumps [cryptography](https://github.com/pyca/cryptography) from 42.0.2 to 42.0.4.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@42.0.2...42.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>

* Spiker with 32bit

* Alternative to Injector/Extractor Processes (#835)

* prototype implementing injector/extractor function, not wrapped in a Process

* modified injector and extractor classes

* fixed linting

---------

Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: Philipp Plank <philipp.plank@intel.com>

* fix security issues

* Fix workflows (#844)

* prototype implementing injector/extractor function, not wrapped in a Process

* modified injector and extractor classes

* fixed linting

* fix workflows

---------

Co-authored-by: gkarray <ghassen.karray@intel.com>

* Bump pillow from 10.2.0 to 10.3.0 (#847)

Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 10.3.0.
- [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.2.0...10.3.0)

---
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>

* Bump idna from 3.6 to 3.7 (#848)

Bumps [idna](https://github.com/kjd/idna) from 3.6 to 3.7.
- [Release notes](https://github.com/kjd/idna/releases)
- [Changelog](https://github.com/kjd/idna/blob/master/HISTORY.rst)
- [Commits](kjd/idna@v3.6...v3.7)

---
updated-dependencies:
- dependency-name: idna
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update ci.yml (#853)

* ATRLIF neuron model (#846)

* added process and CPU process models of ATRLIF neuron; added a Jupyter notebook to demonstrate the properties of the ATRLIF neuron

* testing of the tutorial

* tests for process and model added; copyright notes added; cleanup

* codacy-related fixed

* comment formatting and copyright notices adjusted

* Add the models and process of conv_in_time in src/lava/proc/conv_in_time (#833)

* add the models and process of conv_in_time in src/lava/proc/conv_in_time

* remove unused library

* remove Trailing whitespace

* add unittest for conv in time and related pytorch ground truth

* add fixed_pt version of conv in time

* change input to spike_input

* add from lava.proc.conv import utils

* remove unwanted comments

* fixed some linting errors

* Start all comments with upper case character & change the year for all copyright headers to 2024 for new files

* remove whitespace

* continuation line under-indented

* Trailing whitespace

* shorten variables names

---------

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

* Fixed/updated poetry.lock to match the TOML file

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* Delinting

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

* Fixed a unittest by adding .name attribute to a Mock object

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>

---------

Signed-off-by: Risbud, Sumedh <sumedh.risbud@intel.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Ghassen Karray <36999864+gkarray@users.noreply.github.com>
Co-authored-by: PhilippPlank <32519998+PhilippPlank@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: smm-ncl <145007783+smm-ncl@users.noreply.github.com>
Co-authored-by: Philipp Stratmann <86950058+phstratmann@users.noreply.github.com>
Co-authored-by: Philipp Plank <philipp.plank@intel.com>
Co-authored-by: gkarray <ghassen.karray@intel.com>
Co-authored-by: Jannik Luboeinski <33398515+jlubo@users.noreply.github.com>
Co-authored-by: Zeyu Liu <liuzeyu@usc.edu>
Co-authored-by: bamsumit <bam_sumit@hotmail.com>
monkin77 pushed a commit to monkin77/thesis-lava that referenced this pull request Jul 12, 2024
* first wokring version

* S4D model cleaned

* update license

* fix imports

* linting

* incorporate reviews

* update docstring
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

5 participants