Thanks for the suggestion. However, for some reason I need to use MCMC to infer the parameters.
Is this a limitation of Pyro that we cannot set a flag for the variables so that MCMC ignores computing a posterior for them?
As you probably saw in my question, using z=torch.distributions.Normal(mu_q, std_q).rsample()
instead of z = pyro.sample("z"+str(l), pyro.distributions.Normal(mu_q, std_q).to_event(3))
sped things up a lot but the inference logs suggested to me that the result is going to be really bad because step size was super small and acceptance probability was almost 0. But still I am not sure if that would also suggest that the posterior I’d get this way for my variable of interest would be incorrect. Could you clarify whether or not this approach is correct or every variable within with pyro.plate()
must be defined via a pyro.sample()
primitive?