I’m trying to represent a model with overlapping plates similar to example 3.2 in https://arxiv.org/pdf/1902.03210.pdf. Could someone please let me know if this possible, and share a minimal working model if so? If it’s not possible, should I just unroll one of the two overlapping plates explicitly and then use a plate for the other one?
Also, the paper mentions that “we integrate our implementation into the Pyro probabilistic programming language”. Is this included in the current release, or is the intention to integrate the implementation before ICML?
For anyone else who stumbles across this, the following modification to the example code will broadcast the operation over x_axis and y_axis such that xy[i, j] = Normal(x[i] * y[j], 1).
with x_axis:
x = pyro.sample("x", Normal(0, 1))
with y_axis:
y = pyro.sample("y", Normal(0, 1))
with x_axis, y_axis:
xy = pyro.sample("xy", Normal(x * y, 1))