This tutorial has been designed for the following classes:
- 2022/2023 Master class on Numerical methods for Neuroscience, Physics Degree, University of Pisa, Italy
- 2022/2023 Master class on Biorobotics and Complex Systems (Prof: Alberto Mazzoni), Physics Degree, University of Pisa, Italy
- 2022/2023 PhD class on Information Theory and Neural Modeling for Neural Engineering (Prof: Alberto Mazzoni), PhD Program in Biorobotics, Scuola Superiore Sant'Anna, Pisa
- 2021/2022 Master class on Biorobotics and Complex Systems (Prof: Alberto Mazzoni), Physics Degree, University of Pisa, Italy
- 2021/2022 PhD class on Information Theory and Neural Modeling for Neural Engineering (Prof: Alberto Mazzoni), PhD Program in Biorobotics, Scuola Superiore Sant'Anna, Pisa
- 2020/2021 PhD class on Large Scale Network Simulations, NeuroSchool PhD Program, INT, Marseille, France
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.
General PyNN installation:
pip install <the-simulator> e.g. brain2, NEURON
pip install PyNN
- 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-2023
- Open the directory
SpiNNaker/
and run the CNT notebook - Some suggestions:
pip install matplotlib==3.2.2
- neurons
- cell types
- populations
- recording variables
- connections
- synapse types
- connections types
- projections
- simulation managing
- computational settings
- save and load outputs
- visualization tools
- entry network
- decaying network
- persistent network
- diverging network
- small-world network
- testing cell models network
- testing STDP model network
- VA_balance network
- 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)
- import the simulator
- setup the simulator
- decide the cell types
- design the populations
- define the synapse types
- select the connection algorithm
- make the projections
- idealize the stimulus
- run the simulation
- save the results
- recover the results
- postprocessing (visualization, statistics, etc)
- close the simulations