Let’s say I have a simple model with shared variables to make out-of-sample predictions:
model = pm.Model()
x0_s=shared(X[:,0]) x1_s=shared(X[:,1]) b0=pm.Normal('b0',mu=0,sd=.1) b1=pm.Normal('b1',mu=0,sd=.1) mu=pm.math.exp(b0*x0_s+b1*x1_s) y_=pm.Poisson('Y_obs',mu=mu,observed=y) approx=pm.fit(10000,method='ADVI') trace=approx.sample(1000)
I need to save the fitted model and then to make prediction in a separate session.
I can easily pickle the trace and the model but how can I manage the shared variables?
One solution would be to redefine the model in the new session so that I have access to the shared variables but I would like to avoid that.