You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
importpymcaspmwithpm.Model() asm:
x=pm.Bernoulli("x", p=0.5) *0# Force it to be zeropm.Deterministic("y", x+pm.Normal.dist())
idata1=pm.sample(tune=0, draws=1, random_seed=1)
idata2=pm.sample(tune=0, draws=1, random_seed=1)
print(
idata1.posterior["y"].sel(draw=0).values,
idata2.posterior["y"].sel(draw=0).values,
sep="\n"
)
# [-0.39110838 -0.10602868 -0.64066713 0.59270806]# [ 1.30907711 -0.1391542 0.52679751 0.47189673]
We could pass the rng to the inner compile_pymc. But it's still a bit silly to compile the same function per chain. We could compile the function once and pass it to the trace. After #7578 this should be allowed. We just need to make sure we copy the function with new shared RNGs.
Alternatively, we could defer to compute_deterministics, and move the deterministics computations out of the sampling loop? This would come at a higher memory cost when users choose not to store certain free variables in the trace.
The text was updated successfully, but these errors were encountered:
Description
We could pass the rng to the inner
compile_pymc
. But it's still a bit silly to compile the same function per chain. We could compile the function once and pass it to the trace. After #7578 this should be allowed. We just need to make sure wecopy
the function with new shared RNGs.Alternatively, we could defer to
compute_deterministics
, and move the deterministics computations out of the sampling loop? This would come at a higher memory cost when users choose not to store certain free variables in the trace.The text was updated successfully, but these errors were encountered: