I’ve quickly ported my model from PyMC3 to Pyro and am making quick progress. I’ve been very impressed with what you’ve built here!
I just have one minor discussion point I’m curious if the language designers could speak on. When I use model parameters within the my “model()” function, like this example:
sd_mu = torch.tensor(0.5) sd_sd = torch.tensor(0.2) sd = pyro.sample('sd_test', dist.Normal(sd_mu, sd_sd))
I’m wondering what the point of specifying the parameters (in this case, sd_mu, and sd_sd) if that’s explicitly what we’re trying to find in the posterior. It seems silly to define them at all. Shouldn’t they be assumed to be “undefined” at first? does changing those values (in this case, 0.5 and 0.2) change anything about the way inference is performed?
Perhaps there should be some explicit class called “InferThis()” or something. I know the guide is a better place for parameter tweaking and constraining but in the model definition, it seems … strange.
I’m wondering if anyone could speak on this design decision. thanks for any insights here!