Thank you for the response.
The second point first. I tried to get your example code to work some time
ago and gave up as being too difficult. The question I now have is does
saving the node weights fully describe the state of the network, or at
least to a first approximation, or are there internal nest conditions that
need to be restored? It seems easier to dump the weights to a pickle file
and reinstate them at start-up.
This is a real time system to emulate the motion of C.elegans. and I am
attempting to update the parameters dynamically including the neuron
weights to be able to see the result of the changes in parameter.
Is normalisation the correct way to update synapse weights?. I tried
addressing the neuron weight directly but this failed with pyNN so I
changed to doing it with normalisation. It does at least change the
simulation response. but I need a param_value of 470 to achieve a weight of
around unity.
The method pm_normalisation_weights is basically the example code and
attempts to normalise to param_value which would be a synapse weight of
typically 0.45. This is the initial value I have been using to create the
neurons and run the simulation until now. The introduction of the
normalisation module resulted in needing a param_value of 470 to achieve a
similar simulation response to the un-normalised version. Is this the
scaling that Barna indicated? The question then is why scaling.
On Mon, Dec 2, 2024 at 11:53 AM Charl Linssen <nest-users(a)turingbirds.com>
wrote:
Hi Peter,
In the page on weight normalisation (
https://nest-simulator.readthedocs.io/en/v3.8/synapses/weight_normalization…),
an example is shown that normalises the L1-norm of the vector. Indeed, it
divides by sum(abs(w)). So after the normalisation step, |w| = 1. I don't
know where the number 420 comes from, perhaps you can check your code on a
more simple example with only one neuron (or send us a minimal reproducing
code for the issue).
For your second query, please see:
https://nest-simulator.readthedocs.io/en/latest/auto_examples/store_restore…
Hope this helps!
With kind regards,
Charl
On Sun, Dec 1, 2024, at 21:00, Peter Mason wrote:
I am currently working on a project involving synaptic weight
normalization using the guidelines provided in the NEST simulator
documentation. I have implemented the normalization process; however, I
encountered some questions that I would appreciate your insights on.
1.
Normalization Value: I found that the normalization value for a neuron
with approximately 190 synapses is around 420, which I do not fully
understand. This looks like the total weight of the neuron synapses. Could
you provide clarification on how the normalisation value is determined?
2.
Simulation State Preservation: I would like to save and restore the
state of synaptic weights to maintain the simulation's behaviour across
sessions. Below is the pseudocode I intend to use:
Save synaptic weights:
w = array of current weights of neuron connections
normalization_factor = sum of absolute weights
if normalization_factor != 0:
normalized_weights = w / normalization_factor
save normalized_weights to file
Load synaptic weights:
read normalized_weights from file
assign loaded weights back to connection
I would like to know if you have any suggestions for improving this
pseudocode or if there are best practices I should consider.
Thank you for your time and assistance. I look forward to your response.
_______________________________________________
NEST Users mailing list -- users(a)nest-simulator.org
To unsubscribe send an email to users-leave(a)nest-simulator.org
_______________________________________________
NEST Users mailing list -- users(a)nest-simulator.org
To unsubscribe send an email to users-leave(a)nest-simulator.org