A little example here:
import pymc as pm
import numpy as np
import arviz as az
X = np.random.normal(1,2)
with pm.Model() as model:
mu = pm.Normal("mu",mu=0,sigma=1)
sigma = pm.Uniform("sigma",lower=0.1,upper=3)
obs = pm.Normal("obs",mu=mu,sigma=sigma,observed=X)
init_vals_ch1 = [{"mu":-1,"sigma":1},{"mu":1,"sigma":1}]
with model:
trace = pm.sample(init="adapt_diag",initvals=init_vals_ch1, discard_tuned_samples=False, chains=2)
import arviz as az
az.plot_trace(trace.warmup_posterior,coords={"draw":range(10)})
gives me this plot:
It seems the first tuning samples do not equal the init values. But it seems to work as expected, though.
