Thank you for your prompt reply! It is PyMC3 v3.4.1 and upgrade has not resolved the issue. Still the same error (for what it’s worth in full):
BrokenProcessPool Traceback (most recent call last)
<ipython-input-21-fb1a0d873163> in <module>()
4 with pm.Model() as pot1m:
5 pm.DensityDist('pot1', logp=cust_logp, shape=(2,))
----> 6 trace1 = pm.sample(1000, step=pm.NUTS())
7 trace2 = pm.sample(1000, step=pm.Metropolis())
8
~/anaconda3/lib/python3.6/site-packages/pymc3/sampling.py in sample(draws, step, init, n_init, start, trace, chain_idx, chains, cores, tune, nuts_kwargs, step_kwargs, progressbar, model, random_seed, live_plot, discard_tuned_samples, live_plot_kwargs, compute_convergence_checks, use_mmap, **kwargs)
440
441 has_population_samplers = np.any([ isinstance(m, arraystep.PopulationArrayStepShared)
--> 442 for m in (step.methods if isinstance(step, CompoundStep) else [step])])
443
444 parallel = cores > 1 and chains > 1 and not has_population_samplers
~/anaconda3/lib/python3.6/site-packages/pymc3/sampling.py in _mp_sample(**kwargs)
980 for idx in range(chain, chain + chains):
981 if trace is not None:
--> 982 strace = _choose_backend(copy(trace), idx, model=model)
983 else:
984 strace = _choose_backend(None, idx, model=model)
~/anaconda3/lib/python3.6/site-packages/joblib/parallel.py in __call__(self, iterable)
960
961 with self._backend.retrieval_context():
--> 962 self.retrieve()
963 # Make sure that we get a last message telling us we are done
964 elapsed_time = time.time() - self._start_time
~/anaconda3/lib/python3.6/site-packages/joblib/parallel.py in retrieve(self)
863 try:
864 if getattr(self._backend, 'supports_timeout', False):
--> 865 self._output.extend(job.get(timeout=self.timeout))
866 else:
867 self._output.extend(job.get())
~/anaconda3/lib/python3.6/site-packages/joblib/_parallel_backends.py in wrap_future_result(future, timeout)
513 AsyncResults.get from multiprocessing."""
514 try:
--> 515 return future.result(timeout=timeout)
516 except LokyTimeoutError:
517 raise TimeoutError()
~/anaconda3/lib/python3.6/site-packages/joblib/externals/loky/_base.py in result(self, timeout)
429 raise CancelledError()
430 elif self._state == FINISHED:
--> 431 return self.__get_result()
432 else:
433 raise TimeoutError()
~/anaconda3/lib/python3.6/site-packages/joblib/externals/loky/_base.py in __get_result(self)
380 def __get_result(self):
381 if self._exception:
--> 382 raise self._exception
383 else:
384 return self._result
BrokenProcessPool: A process in the executor was terminated abruptly while the future was running or pending.