Closed karenperezsarmiento closed 6 days ago
My problem was very simple to solve! I just needed to pass the parameters as an array instead of a dictionary:
def like(cinv,datavec=None):
omega_cdm = numpyro.sample("omega_cdm", dist.Uniform(0.09, 0.15))
omega_b = numpyro.sample("omega_b", dist.Uniform(0.017, 0.027))
logA = numpyro.sample("logA", dist.Uniform(2.6, 3.5))
h = numpyro.sample("h", dist.Uniform(0.6, 0.8))
n_s = numpyro.sample("n_s", dist.Uniform(0.9, 1.1))
tau_reio = numpyro.sample("tau_reio", dist.Uniform(0.047, 0.0617))
sample_params = jnp.array([omega_b, omega_cdm, h, tau_reio, n_s, logA])
theory = tt_emulator.predict(sample_params)
ell = jnp.arange(2,2509)
theory_dl = (2.7255*1e6)**2*ell*(ell+1)*theory/(2*jnp.pi)
with numpyro.plate("data",len(datavec)):
numpyro.sample("datavec", dist.Normal(theory_dl,cinv), obs=datavec)
Great @karenperezsarmiento, feel free to open another issue if you find other problems!
Hello, I'm trying to use Numpyro to do bayesian inference with cosmopower as the theory code, but I'm running into some issues (I'm new to Numpyro so I'm probably making a silly mistake). I'm roughly following the instructions in this blog post. I first created some mock data with cosmopower-jax and then made a model with Numpyro, but I get an error (included below). How did you implement sampling with Numpyro?
However, I get this error: