xiangweizeng / BrainPy

BrainPy: a simulation toolbox for researches in computational neuroscience and brain-inspired computation

Home Page:https://brainpy.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

LICENSE Documentation Conda travis

Note: BrainPy is a project under development. More features are coming soon. Contributions are welcome.

Why to use BrainPy

BrainPy is a lightweight framework based on the latest Just-In-Time (JIT) compilers (especially Numba). The goal of BrainPy is to provide a unified simulation and analysis framework for neuronal dynamics with the feature of high flexibility and efficiency. BrainPy is flexible because it endows the users with the fully data/logic flow control. BrainPy is efficient because it supports JIT acceleration on CPUs and GPUs.

Speed Comparison with Brian2

Scaling of BrainPy

Installation

Install BrainPy using conda:

> conda install brainpy -c brainpy

Install BrainPy using pip:

> pip install git+https://github.com/PKU-NIP-Lab/BrainPy
> # or
> pip install git+https://git.openi.org.cn/OpenI/BrainPy
> # or
> pip install -e git://github.com/PKU-NIP-Lab/BrainPy.git@V0.2.5

The following packages need to be installed to use BrainPy:

  • Python >= 3.7
  • NumPy >= 1.13
  • SymPy >= 1.2
  • Numba >= 0.50.0
  • Matplotlib >= 3.0

Neurodynamics simulation

The Hodgkin–Huxley model, or conductance-based model, is a mathematical model that describes how action potentials in neurons are initiated and propagated. It is a set of nonlinear differential equations that approximates the electrical characteristics of excitable cells such as neurons and cardiac myocytes.

AMPA synapse model.

Implementation of the paper: Wang, Xiao-Jing, and György Buzsáki. “Gamma oscillation by synaptic inhibition in a hippocampal interneuronal network model.” Journal of neuroscience 16.20 (1996): 6402-6413.

Implementation of the paper: Si Wu, Kosuke Hamaguchi, and Shun-ichi Amari. "Dynamics and computation of continuous attractors." Neural computation 20.4 (2008): 994-1025.

More neuron examples please see bpmodels/neurons;

More synapse examples please see bpmodels/synapses;

More network examples please see brainpy-examples/networks and brainpy-examples/from_papers.

Neurodynamics analysis

Phase plane analysis of the INa,p+-IK model, where "input" is 50., and "Vn_half" is -45..

Codimension 1 bifurcation analysis of the INa,p+-IK model, in which "input" is varied in [0., 50.].

Codimension 2 bifurcation analysis of a two-variable neuron model: the INa,p+-IK model, in which "input" is varied in [0., 50.], and "Vn_half" is varied in [-50, -40].

Codimension 1 bifurcation analysis of FitzHugh Nagumo model, in which "a" is equal to 0.7, and "Iext" is varied in [0., 1.].

Codimension 2 bifurcation analysis of FitzHugh Nagumo model, in which "a" is varied in [0.5, 1.0], and "Iext" is varied in [0., 1.].

More examples please see brainpy-examples/dynamics_analysis.

About

BrainPy: a simulation toolbox for researches in computational neuroscience and brain-inspired computation

https://brainpy.readthedocs.io/

License:GNU General Public License v3.0


Languages

Language:Python 100.0%