Dear Daphne,
Please excuse my late reply.
I have a network of LIF neurons ('iaf_cond_alpha') and I would like to implement
STDP synapses, rather than the
standard 'static_synapse'. I would like to be able to set a subset of the network
to STDP synapses (e.g. all excitatory ones)
and leave the rest static. This is how have implemented that currently (see code). I am
using a for loop because I want to
see how STDP changes the activity over time (over many iterations), which leaves me with
the following two questions:
1. Is this a correct way to implement STDP in nest?
You code looks correct. To use STDP for excitatory-excitatory connections, simply replace
static_synapse with stdp_synapse. See the documentation for stdp_synapse for additional
parameters you can set to control plasticity, which allows you also to choose between
different STDP variants.
See hpc_benchmark.py for an example of a network where only E->E connections are
plastic.
2. Is there a way to reset the network such that the connections are not lost?
ResetNetwork() and ResetKernel() both seem to
destroy all the network connections. While I would like to keep them, so that the network
becomes less and less randomly
connected per simulation.
No, resetting the network dynamics without deleting the connections is not possible. We
considered this thoroughly some years ago, but doing this in a perfectly robust fashion
turned out to be very challenging and we decided against supporting this.
Best,
Hans Ekkehard
Thank you!
Best,
Daphne
CODE
# define network connectivity
conn_dict = {'rule': 'pairwise_bernoulli', 'p': 0.1}
# define dicts for static synapses
static_ex_params = {'model':'static_synapse','weight':
6.0, 'delay': 1.5}
static_in_params = {'model':'static_synapse','weight':
-96.0, 'delay': 1.5}
if self.STDP == 'ALL':
# all synapses should be stdp ones, make connections between the two
populations:
# from exc neurons to all neurons
nest.Connect(neurons_all[:self.NE], neurons_all, conn_dict,
self.syn_params_ex)
# from interneurons to all neurons
nest.Connect(neurons_all[self.NE:], neurons_all, conn_dict,
self.syn_params_in)
elif self.STDP == 'EXC':
# keep the inhibitory synapses static
# connections from exc neurons to all neurons
nest.Connect(neurons_all[:self.NE], neurons_all, conn_dict,
self.syn_params_ex)
# connections from interneurons to all neurons
nest.Connect(neurons_all[self.NE:], neurons_all, conn_dict, static_in_params)
where
synapse_params_in = {
'model':'stdp_synapse',
'lambda': 0.01,
'alpha': 1.0,
'delay': 1.5,
'weight':-95.0
}
_______________________________________________
NEST Users mailing list --
users@nest-simulator.org<mailto:users@nest-simulator.org>
To unsubscribe send an email to
users-leave@nest-simulator.org<mailto:users-leave@nest-simulator.org>
--
Prof. Dr. Hans Ekkehard Plesser
Head, Data Science Section
Faculty of Science and Technology
Norwegian University of Life Sciences
PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560
Email hans.ekkehard.plesser(a)nmbu.no
Home
http://arken.nmbu.no/~plesser