def test_simprocess(): argnames = ["process", "input", "output", "t"] non_signals = ["process"] _, sim = _test_operator_arg_attributes(SimProcess, argnames, non_signals=non_signals) assert str(sim) == "SimProcess{process, input -> output}" with pytest.raises(ValueError, match="Unrecognized mode"): _test_operator_arg_attributes(SimProcess, argnames, args={"mode": "badval"})
def test_simpes(): argnames = ["pre_filtered", "error", "delta", "learning_rate", "encoders"] non_signals = ["learning_rate"] _, sim = _test_operator_arg_attributes(SimPES, argnames, non_signals=non_signals) assert str(sim) == "SimPES{pre=pre_filtered, error=error -> delta}"
def test_simneurons(): argnames = ["neurons", "J", "output"] non_signals = ["neurons"] _, sim = _test_operator_arg_attributes(SimNeurons, argnames, non_signals=non_signals) assert str(sim) == "SimNeurons{neurons, J, output}"
def test_simbcm(): argnames = [ "pre_filtered", "post_filtered", "theta", "delta", "learning_rate" ] non_signals = ["learning_rate"] _, sim = _test_operator_arg_attributes(SimBCM, argnames, non_signals=non_signals) assert str(sim) == "SimBCM{pre=pre_filtered, post=post_filtered -> delta}"
def test_convinc_attrs_decstr(): argnames = ["W", "X", "Y", "conv"] non_signals = ["conv"] conv = Convolution(4, (3, 5, 2)) _, sim = _test_operator_arg_attributes(ConvInc, argnames, non_signals=non_signals, args={"conv": conv}) assert str(sim) == "ConvInc{conv2d(W, X) -> Y}" conv_transpose = ConvolutionTranspose(4, (3, 5, 2)) _, sim = _test_operator_arg_attributes( ConvTransposeInc, argnames, non_signals=non_signals, args={"conv": conv_transpose}, ) assert str(sim) == "ConvTransposeInc{convtranspose2d(W, X) -> Y}"
def test_simoja(): argnames = [ "pre_filtered", "post_filtered", "weights", "delta", "learning_rate", "beta", ] non_signals = ["learning_rate", "beta"] _, sim = _test_operator_arg_attributes(SimOja, argnames, non_signals=non_signals) assert str(sim) == "SimOja{pre=pre_filtered, post=post_filtered -> delta}"
def test_simvoja(): argnames = [ "pre_decoded", "post_filtered", "scaled_encoders", "delta", "scale", "learning_signal", "learning_rate", ] non_signals = ["learning_rate", "scale"] args, sim = _test_operator_arg_attributes(SimVoja, argnames, non_signals=non_signals) assert sim.weights is args["scaled_encoders"] assert str(sim) == "SimVoja{pre=pre_decoded, post=post_filtered -> delta}"
def test_convinc_attrs_decstr(): argnames = ["W", "X", "Y", "conv"] non_signals = ["conv"] _, sim = _test_operator_arg_attributes(ConvInc, argnames, non_signals=non_signals) assert str(sim) == "ConvInc{conv2d(W, X) -> Y}"