Ejemplo n.º 1
0
 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))
Ejemplo n.º 2
0
 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]))
Ejemplo n.º 3
0
 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]))
Ejemplo n.º 4
0
 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))
Ejemplo n.º 5
0
 def guide():
     q = pyro.param("q")
     with pyro.iarange("particles", num_particles):
         pyro.sample("z", dist.Bernoulli(q).expand_by([num_particles]))
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 def guide():
     p = pyro.param("p", torch.tensor(0.5, requires_grad=True))
     pyro.sample("x", dist.Bernoulli(p))
Ejemplo n.º 8
0
 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)]))
Ejemplo n.º 9
0
 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)]))
Ejemplo n.º 10
0
 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))
Ejemplo n.º 11
0
 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]))
Ejemplo n.º 12
0
 def model():
     p = torch.tensor(0.5)
     for i in pyro.irange("irange", 10, subsample_size):
         pass
     pyro.sample("x", dist.Bernoulli(p))
Ejemplo n.º 13
0
 def model():
     p = torch.tensor(0.5)
     with pyro.iarange("iarange"):
         pyro.sample("x", dist.Bernoulli(p).expand_by([10]))
Ejemplo n.º 14
0
 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))
Ejemplo n.º 15
0
 def model():
     p = torch.tensor(0.5)
     pyro.sample("x", dist.Bernoulli(p).expand_by([5]))
Ejemplo n.º 16
0
 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)]))
Ejemplo n.º 17
0
 def model():
     p = torch.tensor(0.5)
     x = pyro.sample("x", dist.Bernoulli(p))
     assert x.shape == torch.Size([2]) + iarange_shape
Ejemplo n.º 18
0
 def guide():
     p = pyro.param("p", torch.tensor(0.5, requires_grad=True))
     pyro.sample("x", dist.Bernoulli(p), infer={"enumerate": enumerate_})
Ejemplo n.º 19
0
 def model():
     p = torch.tensor(0.5)
     pyro.sample("x", dist.Bernoulli(p))
     pyro.sample("x", dist.Bernoulli(p))  # Should error here.
Ejemplo n.º 20
0
 def model():
     p = torch.tensor(0.5)
     pyro.sample("x", dist.Bernoulli(p))
     pyro.sample("y", dist.Bernoulli(p))
Ejemplo n.º 21
0
 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)
Ejemplo n.º 22
0
 def model():
     p = torch.tensor(0.5)
     for i in pyro.irange("irange", 10, 5):
         pyro.sample("x_{}".format(i), dist.Bernoulli(p))
Ejemplo n.º 23
0
 def model():
     with pyro.iarange("particles", num_particles):
         pyro.sample("z", dist.Bernoulli(0.25).expand_by([num_particles]))
Ejemplo n.º 24
0
 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))
Ejemplo n.º 25
0
 def model(depth):
     for i in range(depth):
         pyro.sample("x{}".format(i), dist.Bernoulli(0.5))
Ejemplo n.º 26
0
 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)]))
Ejemplo n.º 27
0
 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})
Ejemplo n.º 28
0
 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)]))
Ejemplo n.º 29
0
 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]))
Ejemplo n.º 30
0
 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.]))