Dear Stine!

Thank you for your reply.

I basically split my code in "front-end" and „nest back-end". I am restarting the simulation between reinforcement learning trials but want to keep the connectome. Therefore I reconstruct the nest back-end every trial from the front-end. I get the list of synapse collections by calling GetConnection() with the arguments "from "and „to“ for each vertex I store in the front-end. Calling GetConnection without parameters returns all the connections, including those I am not interested in.

My code now runs with nest3 using the loop.
The PR Prof. Ekkehard mentioned would probably replace some of my code, once it is integrated.

If a connection is invalid then it does not matter where it is stored, right?
The problem with unique is a question of the data structure it represents. Is it a set or a list? Isn’t it the same as with the NodeCollection?

Kind regards,
Benedikt

--
Benedikt S. Vogler
benedikt.s.vogler@tum.de
Student M.Sc. Robotics, Cognition, Intelligence

Am 03.03.2020 um 09:41 schrieb Stine Brekke Vennemo <stine.brekke.vennemo@nmbu.no>:

Hi Benedikt!

How are you creating your SynapseCollections? If you call GetConnections() without any arguments, you should receive all connections and then you can call set() on them once. Then you wouldn't need to store the SynapseCollections in a list, all connections would be represented by the SynapseCollection. You can also pass individual/sliced/composite etc. NodeCollections to GetConnections to get specific connections.

Your idea about a composite SynapseCollection is interesting. It is not possible at the moment though. The problem I see is that we have to be careful about what happens if Connect is called between two calls to GetConnections, because the first SynapseCollection might then be invalid. Another problem can occur if you call GetConnections with sources as arguments and store that SynapseCollection, then call GetConnections again without any arguments and store that SynapseCollection. Your second SynapseCollection will then contain the connections of the first SynapseCollection, and a composite SynapseCollection will have too many connections. We cannot have unique connections in a SynapseCollection, because calling Connect several times with the same NodeCollections is allowed. 

We don't have any more pages covering the transition from NEST 2 to 3 than the two unfortunately. But, we have tried to go through the documentation as much as possible, so that the pages are updated to fit with NEST 3. You might find this page helpful https://nest-simulator.readthedocs.io/en/latest/ref_material/pynest_apis.html​, it contains a list of functions for the PyNEST interface, with descriptions of the functions, the arguments it take and what the function returns.

Best regards,
Stine



Fra: Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.no>
Sendt: 2. mars 2020 22:58
Til: NEST User Mailing List
Emne: [NEST Users] Re: nest3: How to create composite of SynapseCollections
 

Hello Benedikt!

I will leave it to the SynapseCollection experts to answer your questions about SC-details.

But your question made me wonder if you are building your network from an explicitly specified connectome, i.e., a table with one row per connection, specifying source, target, weight and delay. In that case, our new feature to build connections directly from NumPy arrays may be useful for you (and fast). It is still under review, but you can find it at


Best regards,
Hans Ekkehard

On 2 Mar 2020, at 22:21, benedikt.s.vogler@tum.de wrote:

Hello everyone!
I am transitioning my Code from nest 2 to nest 3.
In nest 2 I used a list of connections and could use this list with nest.Get/SetStatus().
With nest 3 I now have a list of SynapseCollections instances, where each synapse collection contains only one connection. For node collections, there seems to be an operator to create a composite (https://nest-simulator.readthedocs.io/en/latest/guides/from_nest2_to_nest3.html#composing). For SynapseCollections, however, I was unable to use the plus operator and could not find similar documentation as in the transition guide. My current workaround is to loop over each instance the list and call Set() on each instance/synapse. What is the recommended way to create a SynapseCollections from many?

Is there somewhere more documentation covering nest 3 than the two pages covering the changes form nest 2 to 3?

Kind regards,
Benedikt S. Vogler
_______________________________________________
NEST Users mailing list -- users@nest-simulator.org
To unsubscribe send an email to 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@nmbu.no
Home  http://arken.nmbu.no/~plesser

_______________________________________________
NEST Users mailing list -- users@nest-simulator.org
To unsubscribe send an email to users-leave@nest-simulator.org