예제 #1
0
def test_construction():
    k = EQ()

    x = np.random.randn(10, 1)

    k(x)
    k(x, x)

    k(Observed(x))
    k(Observed(x), Observed(x))
    k(x, Observed(x))
    k(Observed(x), x)

    k.elwise(x)
    k.elwise(x, x)

    k.elwise(Observed(x))
    k.elwise(Observed(x), Observed(x))
    k.elwise(x, Observed(x))
    k.elwise(Observed(x), x)
예제 #2
0
def test_elwise_cache_aliasing():
    c = Cache()
    k = EQ()
    x1 = np.random.randn(10, 2)
    x2 = np.random.randn(10, 2)
    yield assert_allclose, k.elwise(x1, x2, c), Kernel.elwise(k, x1, x2, c)
예제 #3
0
def test_construction(x1, x2):
    k = EQ()

    k(x1)
    k(x1, x2)

    k.elwise(x1)
    k.elwise(x1, x2)

    # Test `MultiInput` construction.
    approx(
        k(MultiInput(x1, x2)),
        B.concat2d([k(x1, x1), k(x1, x2)], [k(x2, x1), k(x2, x2)]),
    )
    approx(k(x1, MultiInput(x1, x2)), B.concat(k(x1, x1), k(x1, x2), axis=1))
    approx(k(MultiInput(x1, x2), x2), B.concat(k(x1, x2), k(x2, x2), axis=0))

    approx(
        k.elwise(MultiInput(x1, x2)),
        B.concat(k.elwise(x1, x1), k.elwise(x2, x2), axis=0),
    )
    with pytest.raises(ValueError):
        k.elwise(MultiInput(x1), MultiInput(x1, x2))
    with pytest.raises(ValueError):
        k.elwise(x1, MultiInput(x1, x2))
    with pytest.raises(ValueError):
        k.elwise(MultiInput(x1, x2), x2)