Pine bough, from http://www.flickr.com/photos/fortinbras

Pine bough, by fortinbras

PyNN (pronounced 'pine') is a Python package for simulator-independent specification of neuronal network models.

In other words, you can write the code for a model once, using the PyNN API, and then run it without modification on any simulator that PyNN supports (currently NEURON, NEST and PCSIM).

The API has two parts, a low-level, procedural API (functions create(), connect(), set(), record(), record_v()), and a high-level, object-oriented API (classes Population and Projection, which have methods like set(), record(), setWeights(), etc.).

The low-level API is good for small networks, and perhaps gives more flexibility. The high-level API is good for hiding the details and the book-keeping, and is intended to have a one-to-one mapping with FacetsML.

The other thing that is required to write a model once and run it on multiple simulators is standard cell models. PyNN translates standard cell-model names and parameter names into simulator-specific names, e.g. standard model IF_curr_alpha is iaf_neuron in NEST and StandardIF in NEURON, while SpikeSourcePoisson is a poisson_generator in NEST and a NetStim in NEURON. Only a small number off cell models have been implemented so far.

PyNN development has now moved to http://neuralensemble.org/PyNN/

Supported by the FACETS project.

 


Hosted by INRIA GForge Supported by the FACETS project Powered By GForge Collaborative Development Environment