Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference, today
Monday April 24, 11.30-12.30 CET (UTC+1).
As usual, in the Project team round, a contact person of each team will give a short statement summarizing ongoing work in the team and cross-cutting points that need discussion among the teams. The remainder of the meeting we would go into a more in-depth discussion of topics that came up on the mailing list or that are suggested by the teams.
Feel free to join the meeting also if it's just to bring your own quick questions for direct discussion in the in-depth section.
Agenda
* Welcome
* Review of NEST User Mailing List
* Project team round
* In-depth discussion
The agenda for this meeting is also available online, see
https://github.com/nest/nest-simulator/wiki/2023-04-24-Open-NEST-Developer-…
Looking forward to seeing you!
Cheers,
Dennis Terhorst
------------------
Log-in information
------------------
We use a virtual conference room provided by DFN (Deutsches Forschungsnetz).
You can use the web client to connect. We however encourage everyone to
use a headset for better audio quality or even a proper video
conferencing system (see below) or software when available.
Web client
* Visit https://conf.dfn.de/webapp/conference/97938800
* Enter your name and allow your browser to use camera and microphone
* The conference does not need a PIN to join, just click join and you're in.
In case you see a dfnconf logo and the phrase "Auf den
Meetingveranstalter warten", just be patient, the meeting host needs to
join first (a voice will tell you).
VC system/software
How to log in with a video conferencing system, depends on you VC system
or software.
- Using the H.323 protocol (eg Polycom): vc.dfn.net##97938800 or
194.95.240.2##97938800
- Using the SIP protocol:97938800@vc.dfn.de
- By telephone: +49-30-200-97938800
For those who do not have a video conference system or suitable
software, Polycom provides a pretty good free app for iOS and Android,
so you can join from your tablet (Polycom RealPresence Mobile, available
from AppStore/PlayStore). Note that firewalls may interfere with
videoconferencing in various and sometimes confusing ways.
For more technical information on logging in from various VC systems,
please see http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4
Hi,
Continuing with my exploration, I am now developing my own nestML module. I successfully compiled it and ran it without errors or problems. However, the result was not what I expect, so I modified the nestML code, compiled it, and... well, I tried to re-install it with
nest.Install("nestmlmodule")
and I get an error that the module was already loaded. When I try to rerun my simulation, I get the old result, not the new one. How do I do to reload the module? I've searched through the documentation and I do not find any reload, reinstall, or anything similar... Is there any other way than killing everything and starting over from scratch?
By the way, are there any debug tools for a nestML module? I tend to make zillions of mistakes, and any way of inspecting the behavior of the module and the state of the internal variables would be of incredible help!
thanks!!!
gus.-
Dear all,
While I try to solve my doubts on the other thread, I decided to try nestml on my own. For this, I installed docker and did:
wget https://raw.githubusercontent.com/steffengraber/nest-docker/master/docker-c…
and then:
docker-compose up nest-jupyterlab
as explained here: https://nest-simulator.readthedocs.io/en/latest/installation/docker.html#do…
Then, I created a silly Python file that simply does:
import matplotlib.pyplot as plt
import nest
import numpy as np
import os
from pynestml.frontend.pynestml_frontend import generate_nest_target
NEST_SIMULATOR_INSTALL_LOCATION = nest.ll_api.sli_func("statusdict/prefix ::")
generate_nest_target(input_path="izhikevich.nestml",
target_path="/tmp/nestml-component",
logging_level="ERROR",
codegen_opts={"nest_path": NEST_SIMULATOR_INSTALL_LOCATION})
where izhikevich.nestml is nothing else than a brute-force copy and paste of
https://github.com/nest/nestml/blob/master/models/neurons/izhikevich.nestml
It should be trivial, but then I get:
-- N E S T --
Copyright (C) 2004 The NEST Initiative
Version: 3.4
Built: Mar 31 2023 12:33:35
This program is provided AS IS and comes with
NO WARRANTY. See the file LICENSE for details.
Problems or suggestions?
Visit https://www.nest-simulator.org
Type 'nest.help()' to find out more about NEST.
WARNING:root:PyGSL is not available. The stiffness test will be skipped.
WARNING:root:Error when importing: No module named 'pygsl'
line 44:4 extraneous input 'equations' expecting {NEWLINE, 'end', 'inline', 'recordable', NAME}
line 48:4 extraneous input 'parameters' expecting {NEWLINE, 'end', 'inline', 'recordable', 'kernel', NAME}
line 59:4 missing 'end' at 'input'
line 63:4 extraneous input 'output' expecting {NEWLINE, 'end', NAME}
line 77:24 mismatched input '<EOF>' expecting {'end', 'elif', 'else'}
[6,GLOBAL, ERROR]: Error occurred during parsing: abort
Traceback (most recent call last):
File "/opt/data/Izhikevich.py", line 10, in <module>
generate_nest_target(input_path="izhikevich.nestml",
File "/usr/local/lib/python3.10/dist-packages/pynestml/frontend/pynestml_frontend.py", line 229, in generate_nest_target
generate_target(input_path, target_platform="NEST", target_path=target_path, logging_level=logging_level,
File "/usr/local/lib/python3.10/dist-packages/pynestml/frontend/pynestml_frontend.py", line 199, in generate_target
raise Exception("Error(s) occurred while processing the model")
Exception: Error(s) occurred while processing the model
which I do not understand. The syntaxis of nestml seems clear, no "end", right? Then, what am I doing wrong?
Thanks!
gus.-
PS: I still have my doubts, as explained in the other thread, but I thought this is a different issue... sorry if I did wrong!!!
Dear All,
My name is Gustavo (Gus) and I am a complete newbie at NEST, so probably this will be a stupid question. However, I have thoroughly;y searched the documentation for nest-desktop, nest, nestml, and this mailing list, but couldn't find an appropriate answer. So, if this is a stupid question, sorry!
Well, I want to model a population of Izhikevich-like neurons, as described in this paper:
Chen, L., Campbell, S.A. Exact mean-field models for spiking neural networks with adaptation. J Comput Neurosci 50, 445–469 (2022).
https://doi.org/10.1007/s10827-022-00825-9
arXiv: https://arxiv.org/abs/2203.08341
code: https://senselab.med.yale.edu/ModelDB/ShowModel?model=267382#tabs-1
Basically, it is a light variant of the original model in Izhikevich's 2003 paper, with a standard synaptic current I = g S (e_r - u_k), with S the gating variable following its own first-order differential equation, and assuming an intrinsic current with a Lorentzian distribution (and probably something else that I do not remember right now).
I also wanted to take this opportunity to learn nest at the same time, so I decided to start with NEST-Desktop online (I have an account at EBRAINS), but couldn't figure out how to exactly configure the standard Izhikevich model to be the one in the paper, and also couldn't find a mechanism to plug a gating variable, or a way to specify the intrinsic current, and also couldn't find a Lorentzian distribution among the options for the current generators... So, I guess I should go deeper. Is that right? Can I solve this with merely nest-desktop?
Then, I started to look at some examples in nestml, including the Izhikevich one, and I think that, if I have to modify it, it is feasible. I am fluent in Python, and reading the Izhikevich tutorial seemed reasonable to me:
https://nestml.readthedocs.io/en/latest/tutorials/izhikevich/nestml_izhikev…
So, my final question... is this the way to go? Should I write my neuron model as a new variant of the original one, perhaps in nestml? Should I include the gating variable inside this model, or is there another mechanism for that? Then, I guess I need to build a current generator, right? Can I have more than one (1 for the external stimulus, 1 for the intrinsic current)? Is this plan sound? Are there any shortcuts for what I want to do? Any hints or tips you could share?
In any case, THANKS FOR THE PATIENCE!!!
cheers
gus.-
I'm trying to set the initial Calcium concentration for this model with no luck. I've tried
self.model_params = {'tau_m': 10.0, # membrane time constant (ms)
...
'Ca': 0.1 #initial calcium concentration
}
This method doesn't throw an exception but it also doesn't change the initial calcium concentration.
I've also tried self.nodes_e.set(Ca=0.1) which throws an exception
nest.lib.hl_api_exceptions.NESTErrors.DictError: DictError in SLI function SetStatus_id: Unused dictionary items: Ca
Any suggestions?
I'm running the structural_plasticity.py example and would like to make some modifications. I was able to change the initial Ca value with the help of Charl. Now I'm trying to specify connection rules such as disallowing autapses.
Does anyone have any suggestions on how I can implement this in the structural plasticity example? I'm not CS major but I am able to compile and run nest locally.
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer
Video Conference, today
Monday March 27, 11.30-12.30 CET (UTC+1).
As usual, in the Project team round, a contact person of each team will
give a short statement summarizing ongoing work in the team and
cross-cutting points that need discussion among the teams. The remainder
of the meeting we would go into a more in-depth discussion of topics
that came up on the mailing list or that are suggested by the teams.
Feel free to join the meeting also if it's just to bring your own quick
questions for direct discussion in the in-depth section.
Agenda
* Welcome
* Review of NEST User Mailing List
* Project team round
* In-depth discussion
The agenda for this meeting is also available online, see
https://github.com/nest/nest-simulator/wiki/2023-03-27-Open-NEST-Developer-…
Looking forward to seeing you!
Cheers,
Jochen!
------------------
Log-in information
------------------
We use a virtual conference room provided by DFN (Deutsches Forschungsnetz).
You can use the web client to connect. We however encourage everyone to
use a headset for better audio quality or even a proper video
conferencing system (see below) or software when available.
Web client
* Visit https://conf.dfn.de/webapp/conference/97938800
* Enter your name and allow your browser to use camera and microphone
* The conference does not need a PIN to join, just click join and you're in.
In case you see a dfnconf logo and the phrase "Auf den
Meetingveranstalter warten", just be patient, the meeting host needs to
join first (a voice will tell you).
VC system/software
How to log in with a video conferencing system, depends on you VC system
or software.
- Using the H.323 protocol (eg Polycom): vc.dfn.net##97938800 or
194.95.240.2##97938800
- Using the SIP protocol:97938800@vc.dfn.de
- By telephone: +49-30-200-97938800
For those who do not have a video conference system or suitable
software, Polycom provides a pretty good free app for iOS and Android,
so you can join from your tablet (Polycom RealPresence Mobile, available
from AppStore/PlayStore). Note that firewalls may interfere with
videoconferencing in various and sometimes confusing ways.
For more technical information on logging in from various VC systems,
please see http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4
--
Dr. Jochen Martin Eppler (he/him)
Simulation and Data Lab Neuroscience
Jülich Supercomputing Centre
Institute for Advanced Simulation
---------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Stefan Müller
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Dr. Ir. Pieter Jansens,
Prof. Dr. Astrid Lambrecht, Prof. Dr. Frauke Melchior
---------------------------------------------------------------------
Hello,
I am trying to normalize connection weights using a code similar to the one on the Documentation (see code below). I receive an error when assigning the modified weights on the last line of the for loop below (only when I use several MPI processes). That is, when using
mpirun -np 1 python3 test_DumpLayerConnections.py
I do not receive any error, but when using 4 MPI processes:
mpirun -np 4 python3 test_DumpLayerConnections.py
I receive the following error when trying to start a Simulation:
Mar 16 11:13:53 NodeManager::prepare_nodes [Info]:
Preparing 675 nodes for simulation.
[dcccluster:747534] *** An error occurred in MPI_Allgather
[dcccluster:747534] *** reported by process [2696478721,0]
[dcccluster:747534] *** on communicator MPI_COMM_WORLD
[dcccluster:747534] *** MPI_ERR_TRUNCATE: message truncated
[dcccluster:747534] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
[dcccluster:747534] *** and potentially your MPI job)
I can avoid this error by commenting the last for loop assignament (the normalized weights assignment operation). I am using NEST 3.3 (compiled with MPI option) and Python 3.8.12. I guess it could be related to the DumpLayerConnections bug I told you some days ago.
Thanks a lot in advance!
Xavier
import nest
import numpy as np
pos = nest.spatial.grid(shape = [30,30] )
input = nest.Create('iaf_psc_alpha', positions=pos)
layer_0 = nest.Create('iaf_psc_alpha', positions=pos)
layer_1 = nest.Create('iaf_psc_alpha', positions=pos)
conn_neur = {'rule':'pairwise_bernoulli', 'use_on_source': True, 'mask': {'grid':{'shape':[9,9]}} }
nest.CopyModel('static_synapse', 'syn_1_model')
syn_0 = {'synapse_model': 'static_synapse'}
syn_1 = {'synapse_model': 'syn_1_model'}
nest.Connect(input, layer_0, conn_neur, syn_0)
nest.Connect(input, layer_1, conn_neur, syn_1)
nest.DumpLayerConnections(input, layer_0, 'static_synapse', 'conn.txt')
nest.DumpLayerConnections(input, layer_1, 'syn_1_model', 'conn.txt')
for neuron in layer_0:
conn = nest.GetConnections(target=neuron, synapse_model='static_synapse')
w = np.array(conn.weight)
if (w.size>1):
w_normed = w / sum(abs(w)) # L1-norm
w_nparray = 2. * w_normed
conn.weight = w_nparray.tolist()
nest.Simulate(100)
Dear NEST Users & Developers!
I would like to invite you to our next fortnightly Open NEST Developer Video Conference, today
Monday March 13, 11.30-12.30 CET (UTC+1).
As usual, in the Project team round, a contact person of each team will give a short statement summarizing ongoing work in the team and cross-cutting points that need discussion among the teams. The remainder of the meeting we would go into a more in-depth discussion of topics that came up on the mailing list or that are suggested by the teams.
Feel free to join the meeting also if it's just to bring your own quick questions for direct discussion in the in-depth section.
Agenda
* Welcome
* Review of NEST User Mailing List
* Project team round
* In-depth discussion
The agenda for this meeting is also available online, see
https://github.com/nest/nest-simulator/wiki/2023-03-13-Open-NEST-Developer-…
Looking forward to seeing you!
Cheers,
Dennis Terhorst
------------------
Log-in information
------------------
We use a virtual conference room provided by DFN (Deutsches Forschungsnetz).
You can use the web client to connect. We however encourage everyone to
use a headset for better audio quality or even a proper video
conferencing system (see below) or software when available.
Web client
* Visit https://conf.dfn.de/webapp/conference/97938800
* Enter your name and allow your browser to use camera and microphone
* The conference does not need a PIN to join, just click join and you're in.
In case you see a dfnconf logo and the phrase "Auf den
Meetingveranstalter warten", just be patient, the meeting host needs to
join first (a voice will tell you).
VC system/software
How to log in with a video conferencing system, depends on you VC system
or software.
- Using the H.323 protocol (eg Polycom): vc.dfn.net##97938800 or
194.95.240.2##97938800
- Using the SIP protocol:97938800@vc.dfn.de
- By telephone: +49-30-200-97938800
For those who do not have a video conference system or suitable
software, Polycom provides a pretty good free app for iOS and Android,
so you can join from your tablet (Polycom RealPresence Mobile, available
from AppStore/PlayStore). Note that firewalls may interfere with
videoconferencing in various and sometimes confusing ways.
For more technical information on logging in from various VC systems,
please see http://vcc.zih.tu-dresden.de/index.php?linkid=1.1.3.4