nengo-gui icon indicating copy to clipboard operation
nengo-gui copied to clipboard

Setting values in Semantic Pointer clouds needs a better controller

Open tcstewar opened this issue 9 years ago • 3 comments

When you do a "Set value..." on a Semantic pointer cloud, it doesn't quite reach the value you've asked it to go to.

For example, try this minimal network:

import nengo
import nengo.spa as spa
import numpy as np

D = 8
vocab = spa.Vocabulary(D)
vocab.parse('A')

model = nengo.Network()
with model:
    model.test1 = spa.Buffer(D, vocab=vocab)

Open up both a semantic pointer cloud and a semantic pointer plot. Now set the value to A. The plot will show you that it actually gets driven to 0.75*A. If you try setting the value to 1.33*A, it'll go to A.

tcstewar avatar Nov 11 '15 19:11 tcstewar

How bad of an idea would it be to parse the given SPA network and to insert a node in place of a spa.State population. This node would then act like a spa.State population until over-written. If over-written, the node just provides the output.

Seanny123 avatar Jul 19 '17 00:07 Seanny123

With nengo_spa we might want to prohibit setting the pointer on spa.State and only allow it for Encode (and Transcode). That's analogous to ensembles (you can't set the values of those) and nodes (where you can set the value with sliders).

jgosmann avatar Jul 19 '17 03:07 jgosmann

During the meeting, we discussed how we could instead overwrite the output node's function. This should be tried in the context of the existing examples to see if any unexpected behaviour arises.

Seanny123 avatar Sep 25 '17 19:09 Seanny123