Print in Connection function vs Values displayed in GUI

Hello! I’m confused about what print(x) would do in a code below. I thought it should output around [0.5, 0.5] all the time (just like Values window shows in GUI), but it doesn’t - sometimes numbers are even negative and it doesn’t look like the numbers in general are centered around 0.5. Why is that?

import nengo
model = nengo.Network()
with model:
    stim = nengo.Node([0.5, 0.5])
    a = nengo.Ensemble(n_neurons=50, dimensions=2)
    b = nengo.Ensemble(n_neurons=50, dimensions=2)
    nengo.Connection(stim, a)
    def test(x):
        print(x)
        return x
    nengo.Connection(a, b, function = test)

Welcome!

Here, the test function is used to construct/compile a network that computes that function. So we basically pass in a lot of different points x, and then figure out decoders for the neurons that will compute that function. You can read more about how the NEF works here.

To view values in your network, you want to use Probes. If you go through a few of the tutorials, you’ll quickly see how they’re used (e.g. here).