I wonder what is the difference between pyro.sample
and 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))
...
vs
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!