- What tutorial are you running?

Inference with Discrete Latent Variables

- What version of Pyro are you using?

1.8.1

- Please link or paste relevant code, and steps to reproduce.

For any enumerated variable

`x`

, the set of all enumerated variables on which`x`

depends must be linearly orderable in their vectorized plate nesting.

Could anybody help me understand what linearly orderable means. In the example code, i think that because x and y is defined under different plates, they are orderable by plate dim?

@config_enumerate

def invalid_model(data):

plate_1 = pyro.plate(“plate_1”, 10, dim=-1) # vectorized

plate_2 = pyro.plate(“plate_2”, 10, dim=-2) # vectorized

with plate_1:

x = pyro.sample(“y”, dist.Bernoulli(0.5))

with plate_2:

y = pyro.sample(“x”, dist.Bernoulli(0.5))

with plate_1, plate2:

z = pyro.sample(“z”, dist.Bernoulli((1. + x + y) / 4.))