All Projects → colinator → spikeflow

colinator / spikeflow

Licence: MIT license
Python library for easy creation and running of spiking neural networks in tensorflow.

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to spikeflow

WheatNNLeek
Spiking neural network system
Stars: ✭ 26 (-13.33%)
Mutual labels:  spiking-neural-networks, snn
IJCNN2016
Diverse, Noisy and Parallel: a New Spiking Neural Network Approach for Humanoid Robot Control
Stars: ✭ 14 (-53.33%)
Mutual labels:  spiking-neural-networks, snn
auryn
Auryn: A fast simulator for spiking neural networks with synaptic plasticity
Stars: ✭ 77 (+156.67%)
Mutual labels:  computational-neuroscience, spiking-neural-networks
BrainPy
Brain Dynamics Programming in Python
Stars: ✭ 242 (+706.67%)
Mutual labels:  computational-neuroscience, spiking-neural-networks
BrainModels
Brain models implementation with BrainPy
Stars: ✭ 36 (+20%)
Mutual labels:  computational-neuroscience, spiking-neural-networks
spiketorch
Experiments with spiking neural networks (SNNs) in PyTorch. See https://github.com/BINDS-LAB-UMASS/bindsnet for the successor to this project.
Stars: ✭ 83 (+176.67%)
Mutual labels:  spiking-neural-networks, snn
brian2cuda
A brian2 extension to simulate spiking neural networks on GPUs
Stars: ✭ 46 (+53.33%)
Mutual labels:  computational-neuroscience, spiking-neural-networks
hybrid-snn-conversion
Training spiking networks with hybrid ann-snn conversion and spike-based backpropagation
Stars: ✭ 72 (+140%)
Mutual labels:  spiking-neural-networks, snn
DL-NC
spiking-neural-networks
Stars: ✭ 34 (+13.33%)
Mutual labels:  spiking-neural-networks, snn
SNNs-In-Tensorflow
Implementation of a Spiking Neural Network in Tensorflow.
Stars: ✭ 24 (-20%)
Mutual labels:  spiking-neural-networks, snn
yass
YASS: Yet Another Spike Sorter
Stars: ✭ 51 (+70%)
Mutual labels:  computational-neuroscience
CCN Association
认知计算神经联盟 讨论会
Stars: ✭ 49 (+63.33%)
Mutual labels:  computational-neuroscience
leabra
Go implementation of Leabra algorithm for biologically-based models of cognition, based on emergent framework (with Python interface)
Stars: ✭ 38 (+26.67%)
Mutual labels:  computational-neuroscience
spikeRNN
No description or website provided.
Stars: ✭ 28 (-6.67%)
Mutual labels:  spiking-neural-networks
CNCC-2019
Computational Neuroscience Crash Course (CNCC 2019)
Stars: ✭ 26 (-13.33%)
Mutual labels:  computational-neuroscience
syncopy
Systems Neuroscience Computing in Python: user-friendly analysis of large-scale electrophysiology data
Stars: ✭ 19 (-36.67%)
Mutual labels:  computational-neuroscience
neuronunit
A package for data-driven validation of neuron and ion channel models using SciUnit
Stars: ✭ 36 (+20%)
Mutual labels:  computational-neuroscience
PyRhO
A virtual optogenetics laboratory
Stars: ✭ 30 (+0%)
Mutual labels:  computational-neuroscience
hnn
The Human Neocortical Neurosolver (HNN) is a software tool that gives researchers/clinicians the ability to develop/test hypotheses on circuit mechanisms underlying EEG/MEG data.
Stars: ✭ 62 (+106.67%)
Mutual labels:  computational-neuroscience
computational-neuroscience
Short undergraduate course taught at University of Pennsylvania on computational and theoretical neuroscience. Provides an introduction to programming in MATLAB, single-neuron models, ion channel models, basic neural networks, and neural decoding.
Stars: ✭ 36 (+20%)
Mutual labels:  computational-neuroscience

spikeflow

Spiking neural networks in tensorflow.

Installation: pip install coming soon. I'll wait until it achieves just a little bit of stability... some feedback'd help here...

Hypothesis: Biological plausibility in neural networks is not an obstacle, but a benefit, for machine learning applications.

Proof: None. Yet.

The purpose of this library is to explore the connection between computational neuroscience and machine learning, and to practice implementing efficient and fast models in tensorflow.

Spikeflow makes it easy to create arbitrarily connected layers of spiking neurons into a tensorflow graph, and then to 'step time'.

Spikeflow will concentrate on facilitating the exploration of spiking neuron models, local-only learning rules, dynamic network construction, the role of inhibition in the control of attractor dynamics, etc.

The library will implement:

  • multiple models of spiking neurons, including
    • Leaky Integrate-and-fire
    • Izhikevich
    • Poisson (can convert things like images to spike trains)
    • Hodgkin-Huxley? Taking requests...
  • arbitrary connections between layers of similar neurons, including
    • feed-foward
    • recurrent
    • inhibitory
    • layer compositing (layers can have sub-layers with a single input and output)
  • multiple models of synapses, including
    • simple weights
    • synapses with decay
    • synapses with failure
    • synapses with post-synaptic reset
    • synapses with delay
  • out-of-graph and in-graph learning rules, including
    • out-of-graph weight modification
    • out-of-graph STDP, compatible with model.step_time's end timestep callback
    • in-graph STDP with weight bounds
    • symmetric STDP
    • three-factor STDP
    • others? taking requests!
  • forms of dynamic neural network construction, including
    • Synaptic pruning and synaptogenesis
    • Neuron pruning and neurogenesis
    • Other structure modification

The basic modeling idea is this:

model = BPNNModel.compiled_model(input_shape,
  [ neuronlayer1, neuronlayer2, ...],
  [ connections1, connections2, ...])

model.run_time(data_generator, end_time_step_callback)

See the examples in the jupyter_examples directory.

Feedback and collaborators welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].