{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# NESTML Izhikevich tutorial\n", "\n", "Introduction\n", "------------\n", "\n", "The aim of this exercise is to obtain familiarity with NESTML by completing a partial model of the Izhikevich neuron [1].\n", "\n", "\n", "Prerequisites\n", "-------------\n", "\n", "You need to have a working NEST Simulator and NESTML installation, see [Installing NESTML](https://nestml.readthedocs.io/en/latest/installation.html).\n", "\n", "You need to be able to run NESTML to generate and build model code. NESTML can be used from the command line, and via a Python API. The latter will be used in this notebook. See [Running NESTML](https://nestml.readthedocs.io/en/latest/running.html)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/charl/.local/lib/python3.11/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.\n", " warnings.warn(\"Unable to import Axes3D. This may be due to multiple versions of \"\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", " -- N E S T --\n", " Copyright (C) 2004 The NEST Initiative\n", "\n", " Version: 3.6.0-post0.dev0\n", " Built: Mar 26 2024 08:52:51\n", "\n", " This program is provided AS IS and comes with\n", " NO WARRANTY. See the file LICENSE for details.\n", "\n", " Problems or suggestions?\n", " Visit https://www.nest-simulator.org\n", "\n", " Type 'nest.help()' to find out more about NEST.\n", "\n" ] } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import nest\n", "import numpy as np\n", "import os\n", "\n", "from pynestml.codegeneration.nest_code_generator_utils import NESTCodeGeneratorUtils" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Paths\n", "\n", "We assume here that we will generate code in a temporary directory `/tmp/nestml-component`. You can also create a unique temporary path using the [Python tempfile module](https://docs.python.org/3/library/tempfile.html).\n", "\n", "\n", "The Izhikevich model\n", "--------------------\n", "\n", "A simple model for spiking neurons that nevertheless can exhibit a wide variety of dynamical behaviour, depending on its parameter values [1]. It is defined as follows:\n", "\n", "\\begin{align}\n", "\\frac{dv}{dt} &= 0.04 v^2 + 5 v + 140 - u + I\\\\\n", "\\frac{du}{dt} &= a (b v - u)\n", "\\end{align}\n", "\n", "State update:\n", "\n", "\\begin{align}\n", " &\\text{if}\\;\\; v \\geq V_{th}:\\\\\n", " &\\;\\;\\;\\; v \\text{ is set to } c\\\\\n", " &\\;\\;\\;\\; u \\text{ is incremented by } d\\\\\n", " & \\, \\\\\n", " &v \\text{ jumps on each spike arrival by the weight of the spike}\n", "\\end{align}\n", "\n", "Example parameters for regular spiking (the meaning of these parameters is described in detail in the paper [1]; see also Task 2 below): \n", "\n", "\\begin{align}\n", "a&=0.02\\\\\n", "b&=0.2\\\\\n", "c&=-65~\\text{mV}\\\\\n", "d&=8\n", "\\end{align}\n", "\n", "\n", "Task 1: Finish the model\n", "------------------------\n", "\n", "In the file [`izhikevich_task.nestml`](https://raw.githubusercontent.com/nest/nestml/master/doc/tutorials/izhikevich/izhikevich_task.nestml), only a subset of the parameters, state equations and update block is implemented.\n", "\n", "Open the file in a text editor and finish the partially-completed model.\n", "\n", "For reference, the solution is included as [`izhikevich_solution.nestml`](https://raw.githubusercontent.com/nest/nestml/master/doc/tutorials/izhikevich/izhikevich_solution.nestml)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### NESTML code generation\n", "\n", "Assume that our NESTML input model is at `izhikevich_solution.nestml`. To generate code and build a dynamic library that can be loaded as a user module in NEST Simulator:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " -- N E S T --\n", " Copyright (C) 2004 The NEST Initiative\n", "\n", " Version: 3.6.0-post0.dev0\n", " Built: Mar 26 2024 08:52:51\n", "\n", " This program is provided AS IS and comes with\n", " NO WARRANTY. See the file LICENSE for details.\n", "\n", " Problems or suggestions?\n", " Visit https://www.nest-simulator.org\n", "\n", " Type 'nest.help()' to find out more about NEST.\n", "\n", "[12,izhikevich_tutorial_neuron_nestml, WARNING, [12:8;12:17]]: Variable 'a' has the same name as a physical unit!\n", "[13,izhikevich_tutorial_neuron_nestml, WARNING, [15:8;15:17]]: Variable 'd' has the same name as a physical unit!\n", "[17,izhikevich_tutorial_neuron_nestml, WARNING, [12:8;12:17]]: Variable 'a' has the same name as a physical unit!\n", "[18,izhikevich_tutorial_neuron_nestml, WARNING, [15:8;15:17]]: Variable 'd' has the same name as a physical unit!\n", "[23,izhikevich_tutorial_neuron_nestml, WARNING, [12:8;12:17]]: Variable 'a' has the same name as a physical unit!\n", "[24,izhikevich_tutorial_neuron_nestml, WARNING, [15:8;15:17]]: Variable 'd' has the same name as a physical unit!\n", "CMake Warning (dev) at CMakeLists.txt:93 (project):\n", " cmake_minimum_required() should be called prior to this top-level project()\n", " call. Please see the cmake-commands(7) manual for usage documentation of\n", " both commands.\n", "This warning is for project developers. Use -Wno-dev to suppress it.\n", "\n", "-- The CXX compiler identification is GNU 12.3.0\n", "-- Detecting CXX compiler ABI info\n", "-- Detecting CXX compiler ABI info - done\n", "-- Check for working CXX compiler: /usr/bin/c++ - skipped\n", "-- Detecting CXX compile features\n", "-- Detecting CXX compile features - done\n", "\n", "-------------------------------------------------------\n", "nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module Configuration Summary\n", "-------------------------------------------------------\n", "\n", "C++ compiler : /usr/bin/c++\n", "Build static libs : OFF\n", "C++ compiler flags : \n", "NEST compiler flags : -std=c++17 -Wall -fopenmp -O2 -fdiagnostics-color=auto\n", "NEST include dirs : -I/home/charl/julich/nest-simulator-install/include/nest -I/usr/include -I/usr/include -I/usr/include\n", "NEST libraries flags : -L/home/charl/julich/nest-simulator-install/lib/nest -lnest -lsli /usr/lib/x86_64-linux-gnu/libltdl.so /usr/lib/x86_64-linux-gnu/libgsl.so /usr/lib/x86_64-linux-gnu/libgslcblas.so /usr/lib/gcc/x86_64-linux-gnu/12/libgomp.so /usr/lib/x86_64-linux-gnu/libpthread.a\n", "\n", "-------------------------------------------------------\n", "\n", "You can now build and install 'nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module' using\n", " make\n", " make install\n", "\n", "The library file libnestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module.so will be installed to\n", " /tmp/nestml_target_sii6g4x1\n", "The module can be loaded into NEST using\n", " (nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module) Install (in SLI)\n", " nest.Install(nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module) (in PyNEST)\n", "\n", "CMake Warning (dev) in CMakeLists.txt:\n", " No cmake_minimum_required command is present. A line of code such as\n", "\n", " cmake_minimum_required(VERSION 3.26)\n", "\n", " should be added at the top of the file. The version specified may be lower\n", " if you wish to support older CMake versions for this project. For more\n", " information run \"cmake --help-policy CMP0000\".\n", "This warning is for project developers. Use -Wno-dev to suppress it.\n", "\n", "-- Configuring done (0.5s)\n", "-- Generating done (0.0s)\n", "-- Build files have been written to: /home/charl/julich/nestml-fork-integrate_specific_odes/nestml/doc/tutorials/izhikevich/target\n", "[ 33%] Building CXX object CMakeFiles/nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module_module.dir/nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module.o\n", "[ 66%] Building CXX object CMakeFiles/nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module_module.dir/izhikevich_tutorial_neuron_nestml.o\n", "/home/charl/julich/nestml-fork-integrate_specific_odes/nestml/doc/tutorials/izhikevich/target/izhikevich_tutorial_neuron_nestml.cpp: In member function ‘void izhikevich_tutorial_neuron_nestml::init_state_internal_()’:\n", "/home/charl/julich/nestml-fork-integrate_specific_odes/nestml/doc/tutorials/izhikevich/target/izhikevich_tutorial_neuron_nestml.cpp:184:16: warning: unused variable ‘__resolution’ [-Wunused-variable]\n", " 184 | const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n", " | ^~~~~~~~~~~~\n", "/home/charl/julich/nestml-fork-integrate_specific_odes/nestml/doc/tutorials/izhikevich/target/izhikevich_tutorial_neuron_nestml.cpp: In member function ‘virtual void izhikevich_tutorial_neuron_nestml::update(const nest::Time&, long int, long int)’:\n", "/home/charl/julich/nestml-fork-integrate_specific_odes/nestml/doc/tutorials/izhikevich/target/izhikevich_tutorial_neuron_nestml.cpp:318:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare]\n", " 318 | for (long i = 0; i < NUM_SPIKE_RECEPTORS; ++i)\n", " | ~~^~~~~~~~~~~~~~~~~~~~~\n", "/home/charl/julich/nestml-fork-integrate_specific_odes/nestml/doc/tutorials/izhikevich/target/izhikevich_tutorial_neuron_nestml.cpp:313:10: warning: variable ‘get_t’ set but not used [-Wunused-but-set-variable]\n", " 313 | auto get_t = [origin, lag](){ return nest::Time( nest::Time::step( origin.get_steps() + lag + 1) ).get_ms(); };\n", " | ^~~~~\n", "/home/charl/julich/nestml-fork-integrate_specific_odes/nestml/doc/tutorials/izhikevich/target/izhikevich_tutorial_neuron_nestml.cpp:303:16: warning: unused variable ‘__resolution’ [-Wunused-variable]\n", " 303 | const double __resolution = nest::Time::get_resolution().get_ms(); // do not remove, this is necessary for the resolution() function\n", " | ^~~~~~~~~~~~\n", "[100%] Linking CXX shared module nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module.so\n", "[100%] Built target nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module_module\n", "[100%] Built target nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module_module\n", "Install the project...\n", "-- Install configuration: \"\"\n", "-- Installing: /tmp/nestml_target_sii6g4x1/nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module.so\n" ] } ], "source": [ "# generate and build code\n", "module_name, neuron_model_name = \\\n", " NESTCodeGeneratorUtils.generate_code_for(\"izhikevich_solution.nestml\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check the generated log output for any potential error messages or warnings." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Instantiate model in NEST Simulator and run\n", "The generated extension module can be loaded using ``nest.Install()``.\n", "\n", "Using the PyNEST API, the model can be instantiated and simulated in NEST. The following code will create one instance of the neuron model (`nest.Create(\"izhikevich_tutorial\")`), inject a constant current and run the simulation for 250 ms." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Apr 19 10:44:47 Install [Info]: \n", " loaded module nestml_004fd3f5ec9a44b9a28667ae47e2bc9e_module\n", "\n", "Apr 19 10:44:47 NodeManager::prepare_nodes [Info]: \n", " Preparing 4 nodes for simulation.\n", "\n", "Apr 19 10:44:47 SimulationManager::start_updating_ [Info]: \n", " Number of local nodes: 4\n", " Simulation time (ms): 250\n", " Number of OpenMP threads: 1\n", " Not using MPI\n", "\n", "Apr 19 10:44:47 SimulationManager::run [Info]: \n", " Simulation finished.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_329471/1245292433.py:33: UserWarning:FigureCanvasAgg is non-interactive, and thus cannot be shown\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "nest.set_verbosity(\"M_ALL\")\n", "nest.ResetKernel()\n", "\n", "# load dynamic library (NEST extension module) into NEST kernel\n", "nest.Install(module_name)\n", "\n", "neuron = nest.Create(neuron_model_name)\n", "voltmeter = nest.Create(\"voltmeter\")\n", "\n", "voltmeter.set({\"record_from\": [\"v\", \"u\"]})\n", "nest.Connect(voltmeter, neuron)\n", "\n", "cgs = nest.Create('dc_generator')\n", "cgs.set({\"amplitude\": 25.})\n", "nest.Connect(cgs, neuron)\n", "\n", "sr = nest.Create(\"spike_recorder\")\n", "nest.Connect(neuron, sr)\n", "\n", "nest.Simulate(250.)\n", "\n", "spike_times = nest.GetStatus(sr, keys='events')[0]['times']\n", "\n", "fig, ax = plt.subplots(nrows=2)\n", "ax[0].plot(voltmeter.get(\"events\")[\"times\"], voltmeter.get(\"events\")[\"v\"])\n", "ax[1].plot(voltmeter.get(\"events\")[\"times\"], voltmeter.get(\"events\")[\"u\"])\n", "ax[0].scatter(spike_times, 30 * np.ones_like(spike_times), marker=\"d\", c=\"orange\", alpha=.8, zorder=99)\n", "for _ax in ax:\n", " _ax.grid(True)\n", "ax[0].set_ylabel(\"v [mV]\")\n", "ax[1].set_ylabel(\"u\")\n", "ax[-1].set_xlabel(\"Time [ms]\")\n", "fig.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Task 2: Parameter space exploration\n", "-----------------------------------\n", "\n", "Perform a parameter space exploration to reproduce the bottom eight panels from [1], figure 2." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## References\n", "\n", "[1] Eugene M. Izhikevich, \"Simple Model of Spiking Neurons\", IEEE Transactions on Neural Networks, Vol. 14, No. 6, November 2003\n", "\n", "## Copyright\n", "\n", "This file is part of NEST.\n", "\n", "Copyright (C) 2004 The NEST Initiative\n", "\n", "NEST is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.\n", "\n", "NEST is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n", "\n", "You should have received a copy of the GNU General Public License along with NEST. If not, see .\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.4" } }, "nbformat": 4, "nbformat_minor": 4 }