I am doing inference on a simple model and it seems like MCMC does sampling, however, .get_sampels()
gives me an empty dictionary.
def model_simple():
mean = pyro.sample('mean', pyro.distributions.Gamma(9.0, 0.5))
lemonade = pyro.sample('lemonade', pyro.distributions.Poisson(mean))
return lemonade, mean
def model_correct_weekend_only():
lemonade = pyro.sample('lemonade', pyro.distributions.Poisson(6.0))
return lemonade
def model_simple_conditioned(model, x):
return pyro.condition(model, data={'lemonade': x})
def inference_task1():
data = torch.stack([model_correct_weekend_only() for _ in range(100)])
nuts_kernel = NUTS(model_simple_conditioned, jit_compile=False)
mcmc = MCMC(nuts_kernel,
num_samples=1000,
warmup_steps=100,
num_chains=2)
mcmc.run(model_simple, data)
samples = mcmc.get_samples()