Giter VIP home page Giter VIP logo

spynnaker-examples's Introduction

An Introduction to Spiking Neural Networks (SNNs)

Introduction to Spikes Photo by Scott Webb on Unsplash.

This repository contains introductory level SNN examples that I built to understand more about the neuron models and the main network types by using sPyNNaker (PyNN for SpiNNaker).


Setup

Software

Necessary Python Packages

  • sPyNNaker8*
  • matplotlib (2.2.3)
  • PyNN (0.9.3)**
  • numpy (1.16.0)

Along with Python 2.7.

Included Files and Their Usage

spynnaker-examples/
├── compare_voltages.py
├── empty_snn_pattern.py
├── izhikevich_snn.py
├── one_neuron_if_curr_exp.py
├── one_neuron_izhikevich.py
├── recurrent_network.py
├── scripts
│   ├── install_spynnaker.sh
│   └── uninstall_spynnaker.sh
├── snn_if_cond_exp.py
├── snn_if_curr_alpha.py
├── snn_if_curr_exp.py
└── util
    ├── basic_visualizer.py
    └── __init__.py

Each python file could be run separately except basic_visualizer.py and empty_snn_pattern.py.

Folder util includes utility library basic_visualizer which contains plotting functions.

Folder scripts* includes bash scripts to install and uninstall pip based sPyNNaker packages.

empty_snn_pattern.py is a pattern python file which is reproducible by filling the sections. I built this as a template for my codes.

Voltage Comparisons

Comparisons of neuron models in sPyNNaker8 with default values, reference compare_voltages.py.


Hardware

SpiNNaker neuromorphic hardware resource is used in this project. Please refer to SpiNNaker project page regarding its setup and usage.

Notes

*There is also a python package of sPyNNaker available on pip. However, the GitHub repository of the sPyNNaker is more comprehensive and up-to-date than the pip version. If you'd lke to install sPyNNaker via pip, you may refer to my scripts in the scripts folder.

**You can run these examples on a different neuromorphic hardware resource or a simulator as well. Please see PyNN documentation for alternatives.

spynnaker-examples's People

Contributors

mervess avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.