Giter VIP home page Giter VIP logo

neuromorphic_classifier's Introduction

A Neuromorphic Network for Generic Multivariate Data Classification

This project implements the neuromorphic classifier network as described in [1].

In its current version, it requires the "Spikey" neuromorphic hardware system [2], that is developed at Kirchhoff-Institute for Physics, Heidelberg University [3].

How to run an example:

$ cd src
$ python mnist_classifier_on_spikey.py --help
Usage: mnist_classifier_on_spikey.py [options]

Options:
  -h, --help            show this help message and exit
  -s WORKSTATION, --station=WORKSTATION
	                spikey workstation to use (default: None)
  -n NUM_DATA_SAMPLES, --num_data_samples=NUM_DATA_SAMPLES
	                total number of data samples to use (default: 200)
  -d DIGITS_TXT, --digits=DIGITS_TXT
	                digits to be used (default: 5,7)
  -o OUTPUT_FILE, --output_file=OUTPUT_FILE
	                put detailed results in this file (default: None)
  -r, --retrain_VRs     train a new Neural Gas instead of reusing default VRs
	                (Default: False)
  --save_spiketrains=SAVE_SPIKETRAINS
	                specify a file in which to store the spike trains. The
	                spiketrains will be stored in a file named
	                'spiketrains.pkl' as a pickled dictionary, with keys
	                'train' and 'test', each containing a list of
	                dictionaries that containing the actual spike trains.
	                Default is not to store spike trains.

For example, if you want to clasify digits 4 and 8, using 300 samples per digit, and write the output into a file called "4_8_300.txt", you'd use

$ python mnist_classifier_on_spikey.py -n 300 -d 4,8 -o 4_8_300.txt -r
[...]

The above will only work if you have access to a 'Spikey' chip. If you'd rather like to run it using a simulator, and are willing to help in the porting process, please raise an issue with the repository.

Porting shouldn't be that difficult if you have some PyNN experience. I'll be glad to assist.

References

[1] Schmuker, M.; Pfeil, T.; Nawrot, M. P. A Neuromorphic Network for Generic Multivariate Data Classification. Proc. Natl. Acad. Sci. U. S. A. 2014, 111, 2081–2086. http://www.pnas.org/cgi/doi/10.1073/pnas.1303053111 .

[2] Pfeil, T.; Grübl, A.; Jeltsch, S.; Müller, E.; Müller, P.; Petrovici, M. A.; Schmuker, M.; Brüderle, D.; Schemmel, J.; Meier, K. Six Networks on a Universal Neuromorphic Computing Substrate. Front. Neurosci. 2013, 7, 11. http://dx.doi.org/10.3389/fnins.2013.00011 .

[3] http://www.kip.uni-heidelberg.de/cms/vision/projects/facets/neuromorphic_hardware/single_chip_system/the_spikey_chip/

neuromorphic_classifier's People

Contributors

huitzilo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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