def test_nested_sequential_network(): current_node = InputNode("foo", shape=(3, 4, 5)) for name in map(str, range(10)): current_node = SequentialNode("sequential" + name, [current_node, IdentityNode("identity" + name)]) network = current_node.network() fn = network.function(["foo"], ["sequential9"]) x = np.random.rand(3, 4, 5).astype(fX) assert np.allclose(fn(x), x)
def test_hyperparameter_node(): input_node = InputNode("a", shape=(3, 4, 5)) hp_node = HyperparameterNode("b", input_node, foo=3, bar=2) network = hp_node.network() assert network["b"].find_hyperparameter(["foo"]) == 3 assert network["a"].find_hyperparameter(["foo"]) == 3 assert network["a"].find_hyperparameter(["choo", "foo"]) == 3 assert network["a"].find_hyperparameter(["choo"], 32) == 32
def test_sequential_identity_network(): nodes = [ InputNode("foo", shape=(3, 4, 5)), IdentityNode("bar"), ] sequential = SequentialNode("choo", nodes) network = sequential.network() fn1 = network.function(["foo"], ["foo"]) fn2 = network.function(["foo"], ["bar"]) fn3 = network.function(["foo"], ["choo"]) x = np.random.rand(3, 4, 5).astype(fX) assert np.allclose(fn1(x), x) assert np.allclose(fn2(x), x) assert np.allclose(fn3(x), x)
def test_identity_network(): input_node = InputNode("foo", shape=(3, 4, 5)) network = input_node.network() fn = network.function(["foo"], ["foo"]) x = np.random.rand(3, 4, 5).astype(fX) assert np.allclose(fn(x), x)