def test_nested_multioutputs_train(): model = multioutputs.MultiOutputs( multioutputs.MultiOutputs(LearnOutput(1.0), 2), 2) model.train([None], numpy.array([[[1, 2], [3, 4]]])) model.logging = False assert model.activate([]) == [[1, 2], [3, 4]]
def test_get_error_unusual_targets_shape(): from learning import error model = multioutputs.MultiOutputs([ helpers.SetOutputModel([1.0]), helpers.SetOutputModel([1.0, 1.0, 1.0]) ]) assert validation.get_error(model, [[]], [[[1.0], [1.0, 1.0, 1.0]]], error_func=MeanSquaredError()) == 0.0 assert validation.get_error(model, [[]], [[[1.0], [0.0, 0.0, 0.0]]], error_func=MeanSquaredError()) == 0.5
def test_serialize_unserialize(): dataset = (numpy.random.random((10, 10)), numpy.random.random((10, 2, 10))) model = multioutputs.MultiOutputs(MLP((10, 2, 10)), 2) unserialized_model = multioutputs.MultiOutputs.unserialize( model.serialize()) assert isinstance(unserialized_model, multioutputs.MultiOutputs) assert (helpers.fix_numpy_array_equality([ model.activate(inp_vec) for inp_vec in dataset[0] ]) == helpers.fix_numpy_array_equality( [unserialized_model.activate(inp_vec) for inp_vec in dataset[0]]))
def test_multioutputs_train(): model = multioutputs.MultiOutputs(LearnOutput(1.0), 2) model.train([None], numpy.array([[-1, 1]])) assert model.activate([]) == [-1, 1]
def test_multioutputs_activate(): model = multioutputs.MultiOutputs(helpers.SetOutputModel(1), 2) assert model.activate([None]) == [1, 1]
def test_multioutputs_list_of_models(): model = multioutputs.MultiOutputs([LearnOutput(1.0), LearnOutput(1.0)]) model.train([[None]], numpy.array([[-1, 1]])) assert model.activate([]) == [-1, 1]