Abstract

The Python Modular Neural Network Toolbox (PymoNNto) provides a versatile and adaptable Python-based framework to develop and investigate brain-inspired neural networks. In contrast to other commonly used simulators such as Brian2 and NEST, PymoNNto imposes only minimal restrictions for implementation and execution. The basic structure of PymoNNto consists of one network class with several neuron- and synapse-groups. The behaviour of each group can be flexibly defined by exchangeable modules. The implementation of these modules is up to the user and only limited by Python itself. Behaviours can be implemented in Python, Numpy, Tensorflow, and other libraries to perform computations on CPUs and GPUs. PymoNNto comes with convenient high level behaviour modules, allowing differential equation-based implementations similar to Brian2, and an adaptable modular Graphical User Interface for real-time observation and modification of the simulated network and its parameters.

Highlights

  • Simulating neural networks has become an indispensable part of brain research, allowing neuroscientists to efficiently develop, explore, and evaluate hypotheses

  • PymoNNto allows for efficient implementation and analysis via a multitude of features, such as a powerful and extendable graphical user interface, a storage manager, and several pre-implemented neuronal/synaptic mechanisms and network models

  • We briefly summarize the most useful ones: Graphical User Interface (GUI) PymoNNto’s GUI is a powerful tool to interactively explore the behaviour of a network simulation

Read more

Summary

INTRODUCTION

Simulating neural networks has become an indispensable part of brain research, allowing neuroscientists to efficiently develop, explore, and evaluate hypotheses Working with such models is facilitated by various simulation environments, which typically provide high level classes and functions for convenient model generation, simulation, and analysis. While for example, Neuron (Hines and Carnevale, 1997) excels at simulating neurons with a high degree of biological detail, NEST (Fardet et al, 2020) is optimized to simulate large networks of rather simplified spiking neurons on distributed computing clusters (Jordan et al, 2018) Another simulator, Brian/Brian (Goodman and Brette, 2009; Stimberg et al, 2019) prioritizes concise model definition over scaling to large computing environments. PymoNNto allows for efficient implementation and analysis via a multitude of features, such as a powerful and extendable graphical user interface, a storage manager, and several pre-implemented neuronal/synaptic mechanisms and network models (compare Table 1)

ARCHITECTURE AND FUNCTIONALITY
Core Classes
Internal Processing
Additional High Level Functions
HOW TO USE PymoNNto?
Basic Structure
Behaviour
Synapses and Input
Tagging System and Plotting
Graphical User Interface
FLEXIBILITY
Increase of Simulation Speed With Tensorflow
PymoNNto Supports Brian2-Like Model Definition
Simulator Fusion With PymoNNto
Custom UI Module
Cython
DISCUSSION
DEVELOPMENT AND AVAILABILITY
DATA AVAILABILITY STATEMENT
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call