['μ = pm.Normal(\'μ\', mu=0, sigma=10)\n    σ = pm.HalfNormal(\'σ\', sigma=10)\n    \n    # Define the Poisson GP prior\n    kernel = pm.gp.cov.ExpQuad(1, ls=1)\n    gp = pm.gp.Latent(cov_func=kernel)\n    f = gp.prior(\'f\', X=x)\n    \n    # Define the likelihood\n    y_obs = pm.Poisson(\'y_obs\', mu=pm.math.exp(f), observed=y)\n    \n    # Define the GP hyperparameters\n    hyperparams = pm.find_MAP()\n    \n    # Sample from the posterior\n    trace = pm.sample(1000, tune=1000, chains=4, return_inferencedata=True, idata_kwargs={"log_likelihood": True})\n\n# Visualize the posterior\naz.plot_trace(trace)\naz.plot_posterior(trace)\nplt.show()\n\n']