Hi, I’m new to probabilistic programming and am trying to get a toy Dirichlet-Multinomial model working. I’m not sure why but when I run the inference the parameters either barely update or seem to do so in entirely wrong directions. Here’s my code:

```
data = [10.0,12.0,2.0]
def model(data = data):
d = torch.FloatTensor(data)
return pyro.sample("obs", dist.DirichletMultinomial(torch.ones(len(data)), sum(data)), obs = d)
def guide(data=data):
params = pyro.param("alphas", torch.ones(len(data)),constraint=constraints.positive)
return pyro.sample("obs", dist.DirichletMultinomial(params,sum(data)))
adam_params = {"lr": 0.01}
optimizer = Adam(adam_params)
svi = SVI(model, guide, optimizer, loss=Trace_ELBO())
alphas, losses = [], []
n_steps = 5000
for step in range(n_steps):
alphas.append(pyro.param("alphas"))
losses.append(svi.step(data))
```

Any advice would be hugely appreciate, thanks!!