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!