#25 V2.0.0

Merged
BrainPy merged 272 commits from V2.0.0 into master 2 years ago
BrainPy commented 2 years ago
Start a new version of BrainPy. # Highlight We are excited to announce the release of BrainPy 2.0.0. This release is composed of over 260 commits since 1.1.7, made by [Chaoming Wang](https://github.com/chaoming0625), [Xiaoyu Chen](mailto:c-xy17@tsinghua.org.cn), and [Tianqiu Zhang](mailto:tianqiuakita@gmail.com). BrainPy 2.0.0 updates are focused on improving performance, usability and consistence of BrainPy. All the computations are migrated into JAX. Model ``building``, ``simulation``, ``training`` and ``analysis`` are all based on JAX. Highlights of version 2.0.0 include: - [brainpylib](https://pypi.org/project/brainpylib/) are provided to dedicated operators for brain dynamics programming - Connection APIs in ``brainpy.conn`` module are more efficient. - Update analysis tools for low-dimensional and high-dimensional systems in ``brainpy.analysis`` module. - Support more general Exponential Euler methods based on automatic differentiation. - Improve the usability and consistence of ``brainpy.math`` module. - Remove JIT compilation based on Numba. - Separate brain building with brain simulation. # Incompatible changes - remove ``brainpy.math.use_backend()`` - remove ``brainpy.math.numpy`` module - no longer support ``.run()`` in ``brainpy.DynamicalSystem`` (see New Features) - remove ``brainpy.analysis.PhasePlane`` (see New Features) - remove ``brainpy.analysis.Bifurcation`` (see New Features) - remove ``brainpy.analysis.FastSlowBifurcation`` (see New Features) # New Features - Exponential Euler method based on automatic differentiation - ``brainpy.ode.ExpEulerAuto`` - Numerical optimization based low-dimensional analyzers: - ``brainpy.analysis.PhasePlane1D`` - ``brainpy.analysis.PhasePlane2D`` - ``brainpy.analysis.Bifurcation1D`` - ``brainpy.analysis.Bifurcation2D`` - ``brainpy.analysis.FastSlow1D`` - ``brainpy.analysis.FastSlow2D`` - Numerical optimization based high-dimensional analyzer: - ``brainpy.analysis.SlowPointFinder`` - Dedicated operators in ``brainpy.math`` module: - ``brainpy.math.pre2post_event_sum`` - ``brainpy.math.pre2post_sum`` - ``brainpy.math.pre2post_prod`` - ``brainpy.math.pre2post_max`` - ``brainpy.math.pre2post_min`` - ``brainpy.math.pre2syn`` - ``brainpy.math.syn2post`` - ``brainpy.math.syn2post_prod`` - ``brainpy.math.syn2post_max`` - ``brainpy.math.syn2post_min`` - Conversion APIs in ``brainpy.math`` module: - ``brainpy.math.as_device_array()`` - ``brainpy.math.as_variable()`` - ``brainpy.math.as_jaxarray()`` - New autograd APIs in ``brainpy.math`` module: - ``brainpy.math.vector_grad()`` - Simulation runners: - ``brainpy.ReportRunner`` - ``brainpy.StructRunner`` - ``brainpy.NumpyRunner`` - Commonly used models in ``brainpy.models`` module - ``brainpy.models.LIF`` - ``brainpy.models.Izhikevich`` - ``brainpy.models.AdExIF`` - ``brainpy.models.SpikeTimeInput`` - ``brainpy.models.PoissonInput`` - ``brainpy.models.DeltaSynapse`` - ``brainpy.models.ExpCUBA`` - ``brainpy.models.ExpCOBA`` - ``brainpy.models.AMPA`` - ``brainpy.models.GABAa`` - Naming cache clean: ``brainpy.clear_name_cache`` - add safe in-place operations of ``update()`` method and ``.value`` assignment for JaxArray # Documentation - Complete tutorials for quickstart - Complete tutorials for dynamics building - Complete tutorials for dynamics simulation - Complete tutorials for dynamics training - Complete tutorials for dynamics analysis - Complete tutorials for API documentation
BrainPy merged commit f7f5d81645 into master 2 years ago
The pull request has been merged as f7f5d81645.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This pull request currently doesn't have any dependencies.

Loading…
There is no content yet.