project-rig / nengo_spinnaker

SpiNNaker based Nengo simulator.
MIT License
13 stars 7 forks source link

With 2 Node inputs to an Ensemble, the first has problems #131

Open tcstewar opened 7 years ago

tcstewar commented 7 years ago

Here's a simple test case:

import nengo
model = nengo.Network()
with model:
    stim1 = nengo.Node([0])
    stim2 = nengo.Node([0])
    a = nengo.Ensemble(n_neurons=100, dimensions=2)
    nengo.Connection(stim1, a[0])
    nengo.Connection(stim2, a[1])

One of these Nodes will work fine, but the other seems to be almost ignored by the a ensemble.

If I do this as a single Node, it all works fine:

import nengo
model = nengo.Network()
with model:
    stim = nengo.Node([0,0])
    a = nengo.Ensemble(n_neurons=100, dimensions=2)
    nengo.Connection(stim, a)
mundya commented 7 years ago

This seems really odd. I'm afraid I'm kind-of-off this week and definitely off next week, but I'll have a look at this when I'm back in on the 10th, sorry.

tcstewar commented 7 years ago

No worries! There's an easy workaround by just merging the Nodes together into one Node, so it's not mission-critical. Enjoy being off for the next weeks!

mundya commented 7 years ago

Sorry for not looking at this until now - am I correct in thinking that you're driving the nodes from the GUI?

UPDATED: A note on this, running a similar model on SpiNNaker with the input nodes set as function_of_time works reliably (over 100 runs the output was always correct).

tcstewar commented 7 years ago

Sorry for not looking at this until now - am I correct in thinking that you're driving the nodes from the GUI?

Ah, yes, I didn't specify that, sorry. So they're actually function inputs that are not functions_of_time.