Am I using SMCFilter right?

It is after exhausting all options I’m posting here. Basically, I have data from a spacetime grid (x,y,t), with 1 denoting an event and 0 denoting the absence of an event.

def model(grid_dims, obs=None):
    # priors = pyro.sample("priors", dist.Beta(torch.ones(grid_shape), torch.ones(grid_shape)).to_event(len(grid_shape)))
    bernoulli_priors = pyro.sample(
        "bernoulli_priors",
        dist.Beta(
            torch.ones(grid_dims),
            torch.ones(grid_dims),
        ).to_event(
            len(grid_dims)
        ),  # Not even sure what to event does
    )
    pyro.sample(
        "grid", dist.Bernoulli(bernoulli_priors).to_event(len(grid_dims)), obs=obs
    )

This is roughly the model I use and with SVI it seems to work well. However, because there is a sequential aspect to this data I wanted to use SMCFilter to do an even better job. Unfortunately, I only ended up fighting with the dimension sizes and whatnot and seems like nothing I tried worked.

For starters, I don’t get why SMC even needs a guide model. Any help is appreciated.