예제 #1
0
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)
예제 #2
0
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
예제 #3
0
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)
예제 #4
0
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)