Пример #1
0
def test_synapses():
    check_init_args(LinearFilter, ["num", "den", "analog", "method"])
    check_repr(LinearFilter([1, 2], [3, 4]))
    check_repr(LinearFilter([1, 2], [3, 4], analog=False))
    assert (repr(LinearFilter(
        [1], [0.03, 1
              ])) == "LinearFilter(num=array([1.]), den=array([0.03, 1.  ]))")

    check_init_args(Lowpass, ["tau"])
    check_repr(Lowpass(0.3))
    assert repr(Lowpass(0.01)) == "Lowpass(tau=0.01)"

    check_init_args(Alpha, ["tau"])
    check_repr(Alpha(0.3))
    assert repr(Alpha(0.02)) == "Alpha(tau=0.02)"

    check_init_args(Triangle, ["t"])
    check_repr(Triangle(0.3))
    assert repr(Triangle(0.03)) == "Triangle(t=0.03)"
Пример #2
0
def test_learning_rule_types():
    check_init_args(PES, ["learning_rate", "pre_synapse"])
    check_repr(PES(learning_rate=0.1, pre_synapse=Lowpass(tau=0.2)))
    assert repr(PES()) == "PES()"
    assert (repr(PES(learning_rate=0.1, pre_synapse=0.2)) ==
            "PES(learning_rate=0.1, pre_synapse=Lowpass(tau=0.2))")

    check_init_args(
        BCM, ["learning_rate", "pre_synapse", "post_synapse", "theta_synapse"])
    check_repr(
        BCM(learning_rate=0.1,
            pre_synapse=0.2,
            post_synapse=0.3,
            theta_synapse=0.4))
    assert repr(BCM()) == "BCM()"
    assert repr(
        BCM(learning_rate=0.1,
            pre_synapse=0.2,
            post_synapse=0.3,
            theta_synapse=0.4)
    ) == ("BCM(learning_rate=0.1, pre_synapse=Lowpass(tau=0.2), "
          "post_synapse=Lowpass(tau=0.3), theta_synapse=Lowpass(tau=0.4))")

    check_init_args(Oja,
                    ["learning_rate", "pre_synapse", "post_synapse", "beta"])
    check_repr(
        Oja(
            learning_rate=0.1,
            pre_synapse=Lowpass(tau=0.2),
            post_synapse=Lowpass(tau=0.3),
            beta=0.4,
        ))
    assert repr(Oja()) == "Oja()"
    assert repr(
        Oja(learning_rate=0.1, pre_synapse=0.2, post_synapse=0.3,
            beta=0.4)) == (
                "Oja(learning_rate=0.1, pre_synapse=Lowpass(tau=0.2), "
                "post_synapse=Lowpass(tau=0.3), beta=0.4)")

    check_init_args(Voja, ["learning_rate", "post_synapse"])
    check_repr(Voja(learning_rate=0.1, post_synapse=Lowpass(tau=0.2)))
    assert repr(Voja()) == "Voja()"
    assert (repr(Voja(learning_rate=0.1, post_synapse=0.2)) ==
            "Voja(learning_rate=0.1, post_synapse=Lowpass(tau=0.2))")

    check_init_args(RLS, ["learning_rate", "pre_synapse"])
    check_repr(RLS(2.4e-3))
    check_repr(RLS(learning_rate=0.1, pre_synapse=Alpha(tau=0.2)))
    assert repr(RLS()) == "RLS()"
    assert (repr(RLS(learning_rate=0.1, pre_synapse=0.2)) ==
            "RLS(learning_rate=0.1, pre_synapse=Lowpass(tau=0.2))")