This tutorial has been designed for the following classes:
- [23-24-25] Brain modelling, AI BSc, UNIMI/PV/B
- [22-23-24] Numerical methods in Neuroscience, Physics MSc, UNIPI, Pisa, Italy
- [21-22-23-24] Biorobotics and Complex Systems, Physics MSc, UNIPI, Pisa, Italy
- [21-22-23] Neural Modeling for Neural Engineering, PhD in Biorobotics, SSSA, Pisa
- [2021] Large Scale Network Simulations, PhD in Neuroscience, INT, Marseille, France
- Spiking Neural Networks (SNNs) by using PyNN language and/or Brian2 stand-alone simulator
PyNN is a Python library for simulating neural networks. It provides a common interface for a variety of neural simulators, such as NEURON, NEST, and Brian, making it easy to switch between them without having to change the model code. PyNN allows users to define and simulate neural networks using a high-level, neuron-centric interface, similar to the way models are described in neuroscience literature. It is used in many research and education projects to study neural systems, and can be used to simulate models of the brain, as well as artificial neural networks. Brian is a simulator for spiking neural networks. It is written in the Python programming language and is available on almost all platforms.
- Neural mass modelling with The Virtual Brain simulator
TheVirtualBrain is a framework for the simulation of the dynamics of large-scale brain networks with biologically realistic connectivity. TheVirtualBrain uses tractographic data (DTI/DSI) to generate connectivity matrices and build cortical and subcortical brain networks. The connectivity matrix defines the connection strengths and time delays via signal transmission between all network nodes. Various neural mass models are available in the repertoire of TheVirtualBrain and define the dynamics of a network node. Together, the neural mass models at the network nodes and the connectivity matrix define the Virtual Brain. TheVirtualBrain simulates and generates the time courses of various forms of neural activity including Local Field Potentials (LFP) and firing rate, as well as brain imaging data such as EEG, MEG and BOLD activations as observed in fMRI. TheVirtualBrain is foremost a scientific simulation platform and provides all means necessary to generate, manipulate and visualize connectivity and network dynamics. In addition, TheVirtualBrain comprises a set of classical time series analysis tools, structural and functional connectivity analysis tools, as well as parameter exploration facilities by launching parallel simulations on a cluster.
- make the EBRAINS credentials to access the SpiNNaker server (https://spinn-20.cs.man.ac.uk/hub/login)
- login on the Jupyter Lab interface
- clone this repository
git clone https://github.com/albertoarturovergani/CNT-2025
- setup the venv
- python3 -m venv
- source /bin/activate
- pip install -r requirements.txt
- (after usage deactivate it)
- Open the directory
notebooks/
and run a test with balance network by selecting the sPyNNaker kernel or Python3 kernel - if you receive any errors, write to [email protected]
- Main Course Notebook
- Example: Blank Network
- Example: Decaying Network
- Example: Diverging Network
- Example: Entry Network
- Example: Single Cell
- Example: Single Clique
- Example: Small-World Network
- Example: Stable Network
- Testing: Cell Models in the Network
- Testing: STDP Model in the Network
- Exercise: Network A
- Exercise: Network B
- Paper: Balanced Network
- Examples with Brian2
- TVB Models
- Utility Functions for Numerical Methods
- basis of spiking neural network theory (https://neuronaldynamics.epfl.ch/online/index.html) or (https://neuromatch.io/academy/)
- familiarity with physical quantities related to electric circuits (e.g., voltages, conductances, currents, etc)
- basic python coding (numpy, work with dictionaries, some matplotlib tools, etc)