def test_normal_independent():
    loc = random_tensor(OrderedDict(), reals(2))
    scale = random_tensor(OrderedDict(), reals(2)).exp()
    fn = dist.Normal(loc['i'], scale['i'], value='z_i')
    assert fn.inputs['z_i'] == reals()
    d = Independent(fn, 'z', 'i', 'z_i')
    assert d.inputs['z'] == reals(2)
    sample = d.sample(frozenset(['z']))
    assert isinstance(sample, Contraction)
    assert sample.inputs['z'] == reals(2)
Esempio n. 2
0
def test_normal_independent():
    loc = random_tensor(OrderedDict(), Reals[2])
    scale = ops.exp(random_tensor(OrderedDict(), Reals[2]))
    fn = dist.Normal(loc['i'], scale['i'], value='z_i')
    assert fn.inputs['z_i'] == Real
    d = Independent(fn, 'z', 'i', 'z_i')
    assert d.inputs['z'] == Reals[2]
    rng_key = None if get_backend() == "torch" else np.array([0, 0], dtype=np.uint32)
    sample = d.sample(frozenset(['z']), rng_key=rng_key)
    assert isinstance(sample, Contraction)
    assert sample.inputs['z'] == Reals[2]
Esempio n. 3
0
def test_sample_independent():
    f = Variable('x_i', reals(4, 5)) + random_tensor(OrderedDict(i=bint(3)))
    actual = Independent(f, 'x', 'i', 'x_i')
    assert actual.sample('i')
    assert actual.sample('j', {'i': 2})
Esempio n. 4
0
def test_sample_independent():
    f = Variable('x_i', Reals[4, 5]) + random_tensor(OrderedDict(i=Bint[3]))
    actual = Independent(f, 'x', 'i', 'x_i')
    assert actual.sample('i')
    assert actual.sample('j', {'i': 2})