def model(): p = torch.tensor(0.5) for i in pyro.irange("irange", 2): # Each loop iteration should give the sample site a different name. pyro.sample("x", dist.Bernoulli(p))
def model(): with pyro.iarange("particles", num_particles): pyro.sample("x1", dist.Bernoulli(0.1).expand_by([num_particles])) pyro.sample("x2", dist.Bernoulli(0.2).expand_by([num_particles])) pyro.sample("x3", dist.Bernoulli(0.3).expand_by([num_particles]))
def model(): with pyro.iarange("particles", num_particles): pyro.sample("y", dist.Bernoulli(p).expand_by([num_particles])) with pyro.iarange("iarange", iarange_dim): pyro.sample("z", dist.Bernoulli(p).expand_by([iarange_dim, num_particles]))
def model(): scale = pyro.param("scale") loc = pyro.sample("loc", dist.Normal(0., 10.)) with pyro.iarange("data", len(data)): pyro.sample("obs", dist.Normal(loc, scale), obs=data) pyro.sample("b", dist.Bernoulli(0.5))
def guide(): q = pyro.param("q") with pyro.iarange("particles", num_particles): pyro.sample("z", dist.Bernoulli(q).expand_by([num_particles]))
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) x = pyro.sample("x", dist.Bernoulli(p)) assert x.shape == torch.Size([2]) + iarange_shape
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) pyro.sample("x", dist.Bernoulli(p))
def model(): p = torch.tensor(0.5) with pyro.iarange("iarange", 3, 2) as ind: for i in pyro.irange("irange", 3, 2): pyro.sample("x_{}".format(i), dist.Bernoulli(p).expand_by([len(ind)]))
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) with pyro.iarange("iarange", 3, 2) as ind: for i in pyro.irange("irange", 3, 2): pyro.sample("x_{}".format(i), dist.Bernoulli(p).expand_by([len(ind)]))
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) for i in pyro.irange("irange", 10, subsample_size): pass pyro.sample("x", dist.Bernoulli(p))
def model(): p = torch.tensor(0.5, requires_grad=True) with pyro.iarange("iarange", 10, 5): pyro.sample("x", dist.Bernoulli(p).expand_by([1]))
def model(): p = torch.tensor(0.5) for i in pyro.irange("irange", 10, subsample_size): pass pyro.sample("x", dist.Bernoulli(p))
def model(): p = torch.tensor(0.5) with pyro.iarange("iarange"): pyro.sample("x", dist.Bernoulli(p).expand_by([10]))
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) for i in pyro.irange("irange", 2): # Each loop iteration should give the sample site a different name. pyro.sample("x", dist.Bernoulli(p))
def model(): p = torch.tensor(0.5) pyro.sample("x", dist.Bernoulli(p).expand_by([5]))
def model(): p = torch.tensor(0.5, requires_grad=True) with pyro.iarange("iarange_0", 10, 5) as ind1: pyro.sample("x0", dist.Bernoulli(p).expand_by([len(ind1)])) with pyro.iarange("iarange_1", 11, 6) as ind2: pyro.sample("x1", dist.Bernoulli(p).expand_by([len(ind2)]))
def model(): p = torch.tensor(0.5) x = pyro.sample("x", dist.Bernoulli(p)) assert x.shape == torch.Size([2]) + iarange_shape
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) pyro.sample("x", dist.Bernoulli(p), infer={"enumerate": enumerate_})
def model(): p = torch.tensor(0.5) pyro.sample("x", dist.Bernoulli(p)) pyro.sample("x", dist.Bernoulli(p)) # Should error here.
def model(): p = torch.tensor(0.5) pyro.sample("x", dist.Bernoulli(p)) pyro.sample("y", dist.Bernoulli(p))
def model(num_particles): p = pyro.param("p") with pyro.plate("num_particles", num_particles, dim=-2): z = pyro.sample("z", dist.Bernoulli(p)) with pyro.plate("data", 3): pyro.sample("x", dist.Normal(z, 1.), obs=data)
def model(): p = torch.tensor(0.5) for i in pyro.irange("irange", 10, 5): pyro.sample("x_{}".format(i), dist.Bernoulli(p))
def model(): with pyro.iarange("particles", num_particles): pyro.sample("z", dist.Bernoulli(0.25).expand_by([num_particles]))
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) for i in pyro.irange("irange", 10, 5): pyro.sample("x_{}".format(i), dist.Bernoulli(p))
def model(depth): for i in range(depth): pyro.sample("x{}".format(i), dist.Bernoulli(0.5))
def model(): p = torch.tensor(0.5) with pyro.iarange("iarange", 10, 5) as ind: pyro.sample("x", dist.Bernoulli(p).expand_by([len(ind)]))
def guide(): q = pyro.param("q") with pyro.iarange("particles", num_particles): pyro.sample("x1", dist.Bernoulli(q).expand_by([num_particles]), infer={"enumerate": enumerate1}) pyro.sample("x2", dist.Bernoulli(q).expand_by([num_particles]), infer={"enumerate": enumerate2}) pyro.sample("x3", dist.Bernoulli(q).expand_by([num_particles]), infer={"enumerate": enumerate3})
def guide(): p = pyro.param("p", torch.tensor(0.5, requires_grad=True)) with pyro.iarange("iarange", 10, 5) as ind: pyro.sample("x", dist.Bernoulli(p).expand_by([len(ind)]))
def model(): with pyro.iarange("particles", num_particles): pyro.sample("x", dist.Bernoulli(p).expand_by([num_particles])) for i in pyro.irange("irange", irange_dim): pyro.sample("y_{}".format(i), dist.Bernoulli(p).expand_by([num_particles]))
def model(): p = pyro.sample("p", dist.Beta(2., 2.)) x = pyro.sample("x", dist.Bernoulli(p)) pyro.sample("obs", p * x + (1 - p) * (1 - x), obs=torch.tensor([1., 0.]))