I wonder what is the difference between
pyro.param when declaring variables in my probabilistic model or the guide? E.g.,
def model(data): x = pyro.param("x", torch.zeros(A, B)) ...
def model(data): x = pyro.sample("x", dist.Normal(torch.zeros(A), torch.ones(B))) ...
If I understand it correctly, during SVI the variable
s will be “learned” in both models. Moreover, I can use
x to declare/specify other variables in my model. So the difference is not clear to me.
Thanks in advance!