To do inference, I created a model(data) and guide(data), where data is the observed data.
Thus my model(data) contains the line: pyro.sample(‘obs’, dist.Normal(mu,1.), obs=data).
Then when I call log_prob_sum(), this will compute using the observed data.
However, I also would like to simulate some data by sampling from the model p(z,x), then compute log p(z,x):
Do I need to create a separate function without ‘obs=data’ (to generate z,x and then call log_prob_sum()?)
or is there a way that I can re-use model(data) while ignoring the observed data, to sample z,x and then compute log p(z,x)?
Could you please provide some code samples? thank you!