Difference between revisions of "Comparison of Neural Network Simulators"
(Adding Simbrain to list of neural network simulators) |
(Adding Simbrain to Simulators By Feature) |
||
Line 286: | Line 286: | ||
| {{Yes|1=Any OS supporing python and numpy}} | | {{Yes|1=Any OS supporing python and numpy}} | ||
| {{Yes|1=[http://groups.google.fr/group/briansupport Support forum]}} | | {{Yes|1=[http://groups.google.fr/group/briansupport Support forum]}} | ||
− | | Python | + | | Python |
− | + | ||
− | + | ||
|- | |- | ||
| [http://www.simbrain.net/ Simbrain] | | [http://www.simbrain.net/ Simbrain] | ||
Line 302: | Line 300: | ||
| {{Yes|1=Java}} | | {{Yes|1=Java}} | ||
| {{Yes|1=[http://simbrain.963258.n4.nabble.com/ Forum]}} | | {{Yes|1=[http://simbrain.963258.n4.nabble.com/ Forum]}} | ||
− | | Java | + | | Java |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
Line 595: | Line 590: | ||
| {{Yes|STDP, <br>short-term plasticity}} | | {{Yes|STDP, <br>short-term plasticity}} | ||
| {{Unk}} | | {{Unk}} | ||
+ | |||
+ | |- | ||
+ | | Simbrain | ||
+ | | Networks, Visualization | ||
+ | | Visual, Scripts (interpreted) | ||
+ | | [[File:SimbrainScreenshot]] | ||
+ | | {{Yes|1=Simple 2-d world}} | ||
+ | | {{No|1=In development}} | ||
+ | | {{No|1=No}} | ||
+ | | {{No|1=No}} | ||
+ | | {{Yes|1=Yes (partial implementation)}} | ||
+ | | {{No|1=No}} | ||
+ | | {{Yes|1=Integrate and fire,<br> Izhikevich}} | ||
+ | | {{No|1=In development}} | ||
+ | | {{Yes|<br>Hebbian,<br>SOM, <br>Short Term Plasticity}} | ||
+ | | {{Yes|<br>Hopfield,<br>IAC}} | ||
|} | |} | ||
Revision as of 11:21, 12 July 2010
In 1994, Josef Skrzypek wrote a book titled "Neural Network Simulation Environments." Unfortunately, there is no modern equivalent and you couldn't sort the simulators using javascript. This is a GFDL-licensed project to document a variety of modern neural simulators along a number of useful dimensions. Given the size of such a task we need your help! If you have experience with any simulator (especially those not listed), feel a dimension is missing, would like to elaborate in a sub-article or simply want to check facts, please feel free to edit, leave a comment on the discussion page or e-mail the primary maintainer. Basically, Wikipedia's Be Bold policy applies here.
Simulators
Simulator | Publications | Version (as of this writing) | First release | Latest release | Primary author | License | MS Windows | Mac OS X | Linux | Other | Active Community | Language |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Emergent (formerly PDP++ and PDP) | AisaMingusOReilly07 | 8.5.2 | 1986 | 2010 | Dr. Randy O'Reilly | GNU GPL | XP, 2003, Vista, 7 | Intel, PPC | Any, Fedora, Ubuntu | Any Unix | emergent-users list, Wiki | C++ |
FANN (Fast Artificial Neural Network Library) | Nissen03 | 2.1.0b | 2004 | 2006 | Steffen Nissen | GNU LGPL | Yes | Yes | Yes | Any Unix | FANN Forum | C |
GENESIS (the GEneral NEural SImulation System) | BeemanEtAl07 | 2.3 | 1988 | 2007 | Dr. James Bower & Dr. Dave Beeman | GNU GPL | Cygwin | Intel, PPC | Yes | Any Unix | SourceForge list | C |
NEURON (originally CABLE) | Hines93 HinesCarnevale97 HinesEtAl06 See full list at nrnpubs |
7.1 | 1986 | 2009 | Dr. Michael Hines |
GNU GPL | 95, 98, NT, 2000, XP, Vista | Intel, PPC | Any Linux | Any Unix | NEURON Forum | C, C++, Fortran |
Neuron-C | 6.44 |
1986 |
2008 |
Dr. Robert Smith |
GNU GPL | |
|
|
Any Unix | |
C,C++ | |
SNNAP (Simulator for Neural Networks and Action Potentials) | Unknown | 8.1 | 2001 | 2007 | Dr. John Byrne & Dr. Douglas Baxter | ©, Proprietary | Java | Java | Java | Java | Available but defunct | Java |
LENS (The light, efficient neural network simulator) | Rohde99 | 2.63 | 1998 | 2000 | Dr. Douglas Rohde | Unknown | Cygwin | Intel, PPC | Yes | Any Unix | No | C |
Catacomb2 (Components And Tools for Accessible COmputer Modeling in Biology | Unknown | 2.111 | 2001 | 2003 | Robert Cannon | GNU GPL | Java | Java | Java | Java | No | Java |
Topographica Neural Map Simulator | BednarEtAl04 | 0.9.4 | 1998 | 2009 | Dr. James A. Bednar | GNU GPL | Vista, XP, NT | Build from source | Build from source | Build from source | Mailing list, boards | Python/C++ |
(iNVT) iLab Neuromorphic Vision C++ Toolkit | Unknown | Unknown | 2001 | 2005 | Dr. Laurent Itti & Dr. Christof Koch | GNU GPL Must request access |
Unknown | Unknown | Unknown | Unknown | iLab forums | C++ |
NEST (NEural Simulation Tool) | DiesmannEtAl95 DiesmannGewaltig02 GewaltigEtAl02 EpplerEtAl08 |
2.0 beta | 2004 | 2009 | NEST Initiative | ©, Proprietary | Build from source | Build from source | Build from source | Sun Solaris HP Tru64 Cygwin SGI Altix |
NEST-users list | Python/C++ |
KInNeSS - KDE Integrated NeuroSimulation Software | GorchotechnikovEtAl04 GrossbergEtAl05 |
0.3.4 | 2004 | 2008 | Dr. Anatoli Gorchetchnikov | GNU GPL | No | No | KDE 3.1 required | No | No | C++ |
XNBC | VibertAzmy92 VibertEtAl97 VibertEtAl01 |
9.10-h | 1988 | 2006 | Dr. Jean-François VIBERT | GNU GPL | 9x, 2000, XP | Build from source | RPM (Fedora), Build from source | Tru 64, Ultrix, AIX, SunOS, HPux | No | C++ |
Stuttgart Neural Network Simulator | ZellEtAl91 Petron99 |
4.0 | 1991 | 2001 | Dr. Andreas Zell | Free for academic use Open source |
2000 | No | Not explicitly | Any Unix, Sparc, DEC, IBM PC, HP 9000, SGI Indigo | Defunct SNNS list | C++ |
MATLAB Neural Network Toolbox | Unknown | 6.0 | 1998 | 2008 | MathWorks | ©, Proprietary | Yes | Yes | Yes | Solaris 64-bit | No | |
Wolfram Mathematica Neural Networks | Unknown | 1.0.2 | 2002 | 2003 | Wolfram Research Inc. | ©, Proprietary | Vista, XP, 2003, 2000, Me | Intel, PPC | Yes | Solaris, Sparc, HP-UX, IBM Power | No | |
Peltarion Synapse | Unknown | |
2006 | 2008 | Peltarion | ©, Proprietary | 2000, XP, Vista | No | No | No | No | .NET |
PCSIM: A Parallel neural Circuit SIMulator | BretteEtAl07 |
0.5.0 | 2008 | 2008 | Dr. Pecevski Dejan Dr. Thomas Natschlager |
GNU GPL | Under development | Build from source | Build from source | No | Mailing list | Python/C++/Java |
Brian | GoodmanBrette2008 |
1.1 | 2008 | 2009 | Romain Brette Dan Goodman |
GNU GPL | Yes | Yes | Yes | Any OS supporing python and numpy | Support forum | Python |
Simbrain | Yoshimi08 | 3.0 alpha | 2002 | 2010 | Jeff Yoshimi | GNU GPL | Yes | Yes | Yes | Java | Forum | Java |
Simulators by feature
In principle, most simulators can mimic the functionality provided by another simulator. This table tries to reflect the feature set that the simulator intends to provide, including plugins when they are commonly used, as in the case of neuroConstruct.
Simulator | Primary focus | User programming style | Programming interface | Virtual environment | Cluster computing | GPU support | PyNN support | Point neurons | 3D neurons | Biological neurons | Backpropagation | Self Organizing | Constraint Satisfaction |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Emergent | Networks | Visual Scripts C++ |
![]() |
Rigid body physics 3D graphics 3D model file import Full robotics support |
MPI | In development | No | Yes | No | Integrate and fire Ion channels |
Cross-entropy, Feedforward (SRN), Recurrent, Almeida-Pineda, Real-time continuous |
Competitive Learning (hard/soft), Hebbian (soft/hard/ZSH, Kohonen |
Boltzmann, Binary/continuous Hopfield, Interactive Activation and Competition, GRAIN |
FANN | Networks | Visual Dozens of language bindings |
![]() |
No | No | In development | No | Yes | No | No | RPROP iRPROP Quickprop |
Kohonen | No |
NEURON | Neurons Networks |
Visual Scripts (interpreted) Scripts (compiled to DLL) |
![]() |
No | MPI | No | Yes | Yes | intrinsic, also neuroConstruct | Yes | No, but possible | No, but possible | No, but possible |
Neuron-C | Neurons Networks |
Visual Scripts (interpreted) Scripts (compiled to DLL) |
![]() |
No | MPI | No | Yes | No | |
Yes | No, but possible | No, but possible | No, but possible |
GENESIS | Neurons | Visual Scripts |
No images provided. | No | PGENESIS | No | No | Yes | neuroConstruct | Yes | No, but possible | No, but possible | No, but possible |
SNAAP | Neurons Networks |
Unknown | ![]() |
No | Parallel SNAAP | No | No | Yes | No | Yes | No | No | Hebbian |
LENS | Networks | Unknown | ![]() |
No | No | No | No | Yes | No | No | Quickprop Feed-forward recurrent RBPTT/CRBPTT |
Kohonen | Boltzmann |
Catacomb2 | Neurons Networks |
Unknown | No images provided. | Walls Sound sources Food dispeners Sensors Robot effectors |
No | No | No | Unknown | Unknown | Yes | Unknown | Unknown | Unknown |
Topographica | Networks, Maps | Python scripts Visual C++ |
![]() |
Blender interface | In development | In development | No | Yes | No | Integrate and fire | No | Hebbian (soft/hard/covariance/CPCA) SOM LISSOM BCM |
No |
iNVT | Network | Programming | ![]() |
No | MPI | No | No | Yes | No | No | No | No | No |
KInNeSS | Unknown | Unknown | ![]() |
Unknown | Unknown | Unknown | No | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
SNNS | Networks | Visual | ![]() |
No | Unknown | No | No | Yes | No | No | Quickprop RPROP Backpercolation Counterpropagation DLVQ BPTT CC PCC RCC TDNN CGM |
Hebbian, Kohonen, Delta | Unknown |
Synapse | Data mining | Visual | ![]() |
No | Unknown | Yes | No | Yes | No | No | Quickprop |
Normalized Hebbian Kohonen Competitive learning |
No |
XNBC | Neurons Networks Analysis tools |
Visual |
![]() |
No |
No |
No |
No | Yes |
No | [Leaky] Integrate and fire Condition. burster Phenomenologic Ion conductance (14 ion currents) Hybrid networks |
No |
Hebbian |
No |
PCSIM | Large networks | Python Scripts Java |
Non-graphical | No | MPI | No | No | Yes | No | Yes | No, but possible | STPD, etc... | No, but possible |
NEST | Large networks | Programming Scripts |
Non-graphical | No | MPI | No | Yes | Yes | No | Yes | Unknown | Unknown | Unknown |
Brian | Neurons, networks | Python scripts | Non-graphical | No | Parallel python | No | No | Yes | Yes | Integrate and fire, Hodgkin-Huxley; Equations are user specified |
No | STDP, short-term plasticity |
Unknown |
Simbrain | Networks, Visualization | Visual, Scripts (interpreted) | File:SimbrainScreenshot | Simple 2-d world | In development | No | No | Yes (partial implementation) | No | Integrate and fire, Izhikevich |
In development | Hebbian, SOM, Short Term Plasticity |
Hopfield, IAC |
TODO
- We are also working on a survey to send out to the author of each simulator. You can help by adding new questions and clarifying existing ones.
- Fill in all "Unknown" fields in the tables
- Add all simulators from the paper "Simulation of networks of spiking neurons: A review of tools and strategies" by BretteEtAl07
- How can these tables better compare spiking simulators?