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)
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]
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})
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})