Brian

A clock-driven simulator for spiking neural networks
Download

Brian Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Price:
  • FREE
  • Publisher Name:
  • The Brian Team
  • Publisher web site:
  • http://brian.di.ens.fr/index.html
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 331 KB

Brian Tags


Brian Description

A clock-driven simulator for spiking neural networks Brian is a free simulator for spiking neural networks available on almost all platforms. The motivation for this project is that a simulator should not only save the time of processors, but also the time of scientists.Brian is easy to learn and use, highly flexible and easily extensible. The Brian package itself and simulations using it are all written in the Python programming language, which is an easy, concise and highly developed language with many advanced features and development tools, excellent documentation and a large community of users providing support and extension packages.NOTE: Brian is developed, provided and licensed under the terms of the CeCILL license. Here are some key features of "Brian": · Models: models are defined directly by their equations; threshold and reset (for integrate-and-fire models) can be customised. Both integrate-and-fire models and Hodgkin-Huxley type models can be used. Models with dendrites are possible, although it is not optimised for this case (in practice, Brian is still useful for models with a few compartments, but not with reconstructed dendritic trees). · Integration methods: exact integration for linear models, Euler and exponential Euler for nonlinear models. Stochastic differential equations are also possible. · Connectivity: can be defined directly or with predefined functions (for all-to-all or random connectivity), and can include transmission delays. · Units: Brian has a system for defining quantities with physical dimensions. Arithmetical operations and equations are checked for dimensional consistency, which can help to eliminate hard to debug scaling errors and mistakes in entering equations. · Control and monitoring: all the internal variables of the simulator can be directly accessed to initialise the network or control it as it runs. Spikes and state variables can be monitored and either saved to a file or used directly. All monitors can be customised. · Analysis and plotting: any Python package can be used in combination with Brian, in particular the NumPy and SciPy scientific computing packages, and the PyLab graphics package which mirrors the syntax of the Matlab plotting commands. · Speed: Brian uses vector-based operations (using NumPy and SciPy) to simulate neural populations very efficiently. For large networks, the cost of interpretation is small and the speed is comparable to C code. · Plasticity: for the moment there is some basic support of short-term plasticity, and some more basic support of spike-timing dependent plasticity. · Distributed computing: Brian can be used with the Parallel Python package to run the independent simulations on a cluster or on different processors (e.g. running a simulation with different parameter values). · Inferfaces: the CherryPy package can be used to write HTML interfaces to Brian simulations (running locally or on a web server). Requirements: · Python · NumPy · SciPy · SymPy · PyLab What's New in This Release: · STDP now works with DelayConnection · Added EventClock · Added RecentStateMonitor · Added colormap option to StateMonitor.plot · Added timed array module, see TimedArray class for details. · Added optional progress reporting to run() · New recall() function (converse to forget()) · Added progress reporting module (brian.utils.progressreporting) · Added SpikeMonitor.spiketimes · Added developer's guide to docs · Early version of brian.hears subpackage for auditory modelling · Various bug fixes


Brian Related Software