sinabs

A deep learning library for spiking neural networks which is based on PyTorch, focuses on fast training and supports inference on neuromorphic hardware.

https://github.com/synsense/sinabs

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    2 of 28 committers (7.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.4%) to scientific vocabulary

Keywords

machine-learning pytorch snn spiking-neural-networks

Keywords from Contributors

neuromorphic
Last synced: 6 months ago · JSON representation ·

Repository

A deep learning library for spiking neural networks which is based on PyTorch, focuses on fast training and supports inference on neuromorphic hardware.

Basic Info
  • Host: GitHub
  • Owner: synsense
  • License: apache-2.0
  • Language: Python
  • Default Branch: develop
  • Homepage: https://sinabs.readthedocs.io
  • Size: 18.2 MB
Statistics
  • Stars: 104
  • Watchers: 5
  • Forks: 13
  • Open Issues: 43
  • Releases: 24
Topics
machine-learning pytorch snn spiking-neural-networks
Created about 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation Authors

README.md

PyPI - Package Documentation Status codecov PyPI - Downloads Discord sinabs

Sinabs (Sinabs Is Not A Brain Simulator) is a python library for the development and implementation of Spiking Convolutional Neural Networks (SCNNs). The library implements several layers that are spiking equivalents of CNN layers. In addition it provides support to import CNN models implemented in torch conveniently to test their spiking equivalent implementation. This project is managed by SynSense (former aiCTX AG).

The sinabs-dynapcnn was incorporated to this project, and it enables porting sinabs models to chips and dev-kits with DYNAP-CNN technology.

Installation

For the stable release on the main branch: pip install sinabs or (thanks to @Tobias-Fischer) conda install -c conda-forge sinabs

For the latest pre-release on the develop branch that passed the tests: pip install sinabs --pre The package has been tested on the following configurations

Documentation and Examples

https://sinabs.readthedocs.io/

Questions? Feedback?

Please join us on the #sinabs Discord channel!

  • If you would like to report bugs or push any changes, you can do this on our github repository.

License

Sinabs is published under Apache v2.0. See the LICENSE file for details.

Contributing to Sinabs

Checkout the contributing page for more info.

Citation

In case you find this software library useful for your work please consider citing it as follows:

@software{sinabs, author = {Sheik, Sadique and Lenz, Gregor and Bauer, Felix and Kuepelioglu, Nogay }, doi = {10.5281/zenodo.8385545}, license = {Apache-2.0}, title = {{SINABS: A simple Pytorch based SNN library specialised for Speck}}, url = {https://github.com/synsense/sinabs} }

Owner

  • Name: SynSense
  • Login: synsense
  • Kind: organization
  • Location: Zurich Switzerland

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  SINABS: A simple Pytorch based SNN library specialised for
  Speck
message: >-
  Sinabs (Sinabs Is Not A Brain Simulator) is a python
  library for the development and implementation of Spiking
  Convolutional Neural Networks (SCNNs). The library
  implements several layers that are spiking equivalents of
  CNN layers. In addition it provides support to import CNN
  models implemented in torch conveniently to test their
  spiking equivalent implementation  The project is hosted
  at https://github.com/synsense/sinabs
type: software
authors:
  - given-names: Sadique
    family-names: Sheik
    email: sadique.sheik@synsense.ai
    affiliation: SynSense AI
    orcid: 'https://orcid.org/0000-0003-0302-8511'
  - given-names: 'Gregor '
    family-names: Lenz
    affiliation: 'SynSense AG, Neurobus'
  - given-names: Felix
    family-names: Bauer
    email: felix.bauer@synsense.ai
    affiliation: SynSense AG
  - given-names: 'Nogay '
    family-names: Kuepelioglu
    affiliation: SynSense AG
keywords:
  - spiking Neural Networks
  - pytorch
  - Bapckpropagation Through Time
  - Neuromorphic Engineering
  - Computational Efficiency
  - Speck
license: Apache-2.0
doi: 10.5281/zenodo.8385545
url: https://github.com/synsense/sinabs

GitHub Events

Total
  • Create event: 17
  • Release event: 7
  • Issues event: 45
  • Watch event: 20
  • Delete event: 9
  • Issue comment event: 25
  • Push event: 167
  • Pull request event: 23
  • Pull request review comment event: 107
  • Pull request review event: 108
  • Fork event: 5
Last Year
  • Create event: 17
  • Release event: 7
  • Issues event: 45
  • Watch event: 20
  • Delete event: 9
  • Issue comment event: 25
  • Push event: 167
  • Pull request event: 23
  • Pull request review comment event: 107
  • Pull request review event: 108
  • Fork event: 5

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 1,472
  • Total Committers: 28
  • Avg Commits per committer: 52.571
  • Development Distribution Score (DDS): 0.711
Past Year
  • Commits: 53
  • Committers: 4
  • Avg Commits per committer: 13.25
  • Development Distribution Score (DDS): 0.094
Top Committers
Name Email Commits
Sadique Sheik s****k@s****i 425
Gregor Lenz g****z@s****i 331
Felix Bauer f****r@a****i 200
Martino Sorbaro m****o@p****t 102
nogay.kuepelioglu n****u@s****i 82
Yalun_Hu y****u@s****i 82
Vanessa Leite v****e@s****i 78
Martino Sorbaro m****o@e****k 74
Sadique Sheik s****k@a****m 18
qian.liu q****u@a****m 15
yannan xing y****g@s****i 15
Felix Bauer f****r@s****i 11
shynuie y****n@s****i 8
Nogay Küpelioğlu k****n@m****r 7
Massimo Bortone m****e@a****i 5
Willian-Girao w****o@g****m 4
yijing.lv y****v@s****i 2
qian.liu q****u@a****i 2
martino.sorbaro m****o@a****i 2
li.bo b****i@s****i 1
felix.bauer f****r@a****m 1
dacian.herbei d****i@s****i 1
Roberto Cattaneo r****o@s****i 1
Carsten Nielsen c****n@a****m 1
edghyhdz e****z@h****m 1
Dylan Perdigão 3****o 1
allan a****n@1****m 1
MurphyWu w****x@1****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 64
  • Total pull requests: 40
  • Average time to close issues: 7 months
  • Average time to close pull requests: 18 days
  • Total issue authors: 11
  • Total pull request authors: 4
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.6
  • Merged pull requests: 26
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 27
  • Pull requests: 21
  • Average time to close issues: 4 days
  • Average time to close pull requests: about 4 hours
  • Issue authors: 7
  • Pull request authors: 2
  • Average comments per issue: 0.07
  • Average comments per pull request: 0.14
  • Merged pull requests: 13
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ssinhaleite (22)
  • bauerfe (15)
  • biphasic (9)
  • sheiksadique (8)
  • mihneasteiu (4)
  • fabio-innatera (1)
  • MANUPRIYASINGH (1)
  • mrontio (1)
  • cowolff (1)
  • crashkk (1)
  • hovren (1)
Pull Request Authors
  • ssinhaleite (23)
  • bauerfe (8)
  • sheiksadique (7)
  • mrontio (2)
Top Labels
Issue Labels
enhancement (5) specification needed (5) documentation (4) bug (3) Done (3) technical debt (3) waiting for review (2) needs breaking down (2) To Do (1)
Pull Request Labels
waiting for review (3) enhancement (1) Done (1) To Do (1) documentation (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 856 last-month
  • Total dependent packages: 3
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 267
  • Total maintainers: 3
proxy.golang.org: github.com/synsense/sinabs
  • Versions: 43
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 6.5%
Average: 6.7%
Dependent repos count: 6.9%
Last synced: 6 months ago
pypi.org: sinabs

SynSense Spiking Neural Network simulator for deep neural networks (DNNs).

  • Versions: 224
  • Dependent Packages: 3
  • Dependent Repositories: 2
  • Downloads: 856 Last month
Rankings
Dependent packages count: 4.8%
Downloads: 7.0%
Average: 7.8%
Dependent repos count: 11.5%
Maintainers (3)
Last synced: 6 months ago

Dependencies

.github/workflows/ci-pipeline.yml actions
  • actions/checkout v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • softprops/action-gh-release v1 composite
docs/requirements.txt pypi
  • ipywidgets *
  • matplotlib *
  • myst_nb *
  • pbr *
  • sphinx >=4.0
  • sphinx-book-theme *
  • sphinx-gallery *
  • torchvision *
requirements.txt pypi
  • numpy *
  • pbr *
  • torch >=1.8
tests/requirements.txt pypi
  • matplotlib * test
  • onnx * test
  • onnxruntime * test
  • pytest * test
  • pytest-cov * test
  • torch >=1.8 test
  • torchvision * test
setup.py pypi
Pipfile pypi
  • pytest * develop
  • sinabs *
  • sphinx *
Pipfile.lock pypi
  • attrs ==21.2.0 develop
  • iniconfig ==1.1.1 develop
  • packaging ==20.9 develop
  • pluggy ==0.13.1 develop
  • py ==1.10.0 develop
  • pyparsing ==2.4.7 develop
  • pytest ==6.2.4 develop
  • toml ==0.10.2 develop
  • alabaster ==0.7.12
  • babel ==2.9.1
  • certifi ==2021.5.30
  • chardet ==4.0.0
  • docutils ==0.17.1
  • idna ==2.10
  • imagesize ==1.2.0
  • jinja2 ==3.0.1
  • markupsafe ==2.0.1
  • numpy ==1.20.3
  • packaging ==20.9
  • pandas ==1.2.4
  • pbr ==5.6.0
  • pygments ==2.9.0
  • pyparsing ==2.4.7
  • python-dateutil ==2.8.1
  • pytz ==2021.1
  • requests ==2.25.1
  • sinabs ==0.2.1.dev53
  • six ==1.16.0
  • snowballstemmer ==2.1.0
  • sphinx ==4.0.2
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • torch ==1.8.1
  • typing-extensions ==3.10.0.0
  • urllib3 ==1.26.5
jupyterlab-requirements.txt pypi
  • black *
  • ipywidgets *
  • jupyterlab *
  • jupyterlab-code-formatter *
  • jupyterlab-lsp *
  • matplotlib *
  • pillow *
  • python-lsp-server *
  • tqdm *