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)"
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))")