예제 #1
0
    def __init__(self, pre, post, solver=LstsqL2(), **kwargs):
        if isinstance(pre, nengo.Ensemble):
            solver = BiasedSolver(solver)
            bias = nengo.Node(output=solver.bias_function(post.size_in),
                              label="Bias")
            nengo.Connection(bias, post, synapse=None)

        super(Connection, self).__init__(pre, post, solver=solver, **kwargs)
예제 #2
0
    def __init__(self, pre, post, solver=LstsqL2(), bias_magnitude=1.0,
                 **kwargs):
        if isinstance(pre, nengo.Ensemble):
            solver = BiasedSolver(solver, magnitude=bias_magnitude)
            nengo.Connection(
                nengo.Node(output=bias_magnitude, label="Bias"), post,
                function=solver.bias_function(post.size_in), synapse=None)

        super(Connection, self).__init__(pre, post, solver=solver, **kwargs)
예제 #3
0
def test_biased_solver(Simulator, seed, d):
    solver = BiasedSolver()
    function = solver.bias_function(d)

    assert solver.bias is None
    assert np.allclose(function(np.ones(d)), np.zeros(d))

    with Network(seed=seed) as model:
        x = nengo.Ensemble(100, d)
        conn = nengo.Connection(x, x, solver=solver)

    with Simulator(model) as sim:
        bias = sim.data[conn].solver_info['bias']

    assert np.allclose(solver.bias, bias)
    assert np.allclose(function(np.ones(d)), bias)
예제 #4
0
def test_biased_solver(Simulator, d):

    solver = BiasedSolver()
    function = solver.bias_function(d)

    assert solver.bias is None
    assert np.allclose(function(np.ones(d)), np.zeros(d))

    with Network() as model:
        x = nengo.Ensemble(100, d)
        conn = nengo.Connection(x, x, solver=solver)

    sim = Simulator(model)
    bias = sim.data[conn].solver_info['bias']

    assert np.allclose(solver.bias, bias)
    assert np.allclose(function(np.ones(d)), bias)