I was trying out some example code from another poster and ran into issues while sampling.
When I run the code with no arguments passed to .sample(), the sampling hangs, and I notice 4 files called core.XYZW are created in the same folder as my jupyter notebook. XYZW is some arbitrary integer sequence, e.g. core.2946
When I run the code with .sample(core=1), sampling runs fine.
Any ideas how to fix sampling with multiple cores? Here is the code
import numpy as np import pymc3 as pm import matplotlib.pyplot as lt %matplotlib inline # Specify number of individuals and covariates n = 200 p = 2 # Create a fake dataset true_x = np.random.randn(n,p) true_intercept = 3 true_coefficients = np.asarray([1.,-2.]) y = true_intercept + np.dot(true_x,true_coefficients) + np.random.randn(n) * 0.1 # Create a mask to apply to fake dataset mask = np.zeros([n,p],dtype=bool) mask[0:5,0] = True print('Missing values of x are:',true_x[0:5,0]) observed_x = np.ma.masked_array(data = true_x, mask=mask) # Model with prior placed on 'x' with pm.Model() as model: x = pm.Normal('x',observed = observed_x) intercept = pm.Normal('intercept',sd=10) coefficients = pm.Normal('coefficients',sd=10,shape = p) mean = intercept + pm.math.dot(x,coefficients) response = pm.Normal('response',mu=mean,observed=y) trace = pm.sample() # changing to pm.sample(cores=1) solves issue, but only uses one core. # Visualize posterior estimates of missing data pm.plot_posterior(trace,varnames=['x_missing']