Clone a PyMC model.
Recreates a PyMC model with clones of the original variables. Shared variables will point to the same container but be otherwise different objects. Constants are not cloned.
import pymc as pm from pymc.model.fgraph import clone_model with pm.Model() as m: p = pm.Beta("p", 1, 1) x = pm.Bernoulli("x", p=p, shape=(3,)) with clone_model(m) as clone_m: # Access cloned variables by name clone_x = clone_m["x"] # z will be part of clone_m but not m z = pm.Deterministic("z", clone_x + 1)