def log_posterior(x, t):
     """An example 2D intractable distribution:
     a Gaussian evaluated at zero with a Gaussian prior on the log-variance."""
     mu, log_sigma = x[:, 0], x[:, 1]
     prior = norm.logpdf(log_sigma, 0, 1.35)
     likelihood = norm.logpdf(mu, 0, np.exp(log_sigma))
     return prior + likelihood
 def objective(params):
     gp_params, latents = unpack_params(params)
     gp_likelihood = sum([log_marginal_likelihood(gp_params[i], latents, data[:, i])
                          for i in range(data_dimension)])
     latent_prior_likelihood = np.sum(norm.logpdf(latents))
     return -gp_likelihood - latent_prior_likelihood
 def logprob(weights, inputs, targets):
     log_prior = np.sum(norm.logpdf(weights, 0, weight_scale))
     preds = predictions(weights, inputs)
     log_lik = np.sum(norm.logpdf(preds, targets, noise_scale))
     return log_prior + log_lik