Open
Description
Describe the issue:
Running a logistic regression in Bambi with default settings fails. However, if chains=1
is set in model.fit()
then everything works fine.
Reproduceable code example:
import bambi as bmb
import numpy as np
data = bmb.load_data("adults")
age_mean = np.mean(data["age"])
age_std = np.std(data["age"])
data["age"] = (data["age"] - age_mean) / age_std
model = bmb.Model("income['>50K'] ~ sex + age", data, family="bernoulli")
fitted = model.fit(draws=1000)
Error message:
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (4 chains in 4 jobs)
NUTS: [Intercept, sex, age]
Traceback (most recent call last):000 00:00<? Sampling 4 chains, 0 divergences]
File "/Users/tarmo/Desktop/SALK/streamlit-model/example.py", line 12, in <module>
fitted = model.fit(draws=1000)
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/site-packages/bambi/models.py", line 271, in fit
return self.backend.run(
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/site-packages/bambi/backend/pymc.py", line 98, in run
result = self._run_mcmc(
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/site-packages/bambi/backend/pymc.py", line 289, in _run_mcmc
idata = pm.sample(
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/site-packages/pymc/sampling/mcmc.py", line 529, in sample
mtrace = _mp_sample(**sample_args, **parallel_args)
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/site-packages/pymc/sampling/mcmc.py", line 1019, in _mp_sample
for draw in sampler:
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/site-packages/pymc/sampling/parallel.py", line 449, in __iter__
draw = ProcessAdapter.recv_draw(self._active)
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/site-packages/pymc/sampling/parallel.py", line 320, in recv_draw
msg = ready[0].recv()
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/multiprocessing/connection.py", line 255, in recv
buf = self._recv_bytes()
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/multiprocessing/connection.py", line 419, in _recv_bytes
buf = self._recv(4)
File "/Users/tarmo/mambaforge/envs/pymc/lib/python3.10/multiprocessing/connection.py", line 388, in _recv
raise EOFError
EOFError
PyMC version information:
PyMC 5.0.1
PyTensor 2.8.11
Python 3.10
MacOS Ventura 13.0.1 on M1
mambaforge
Context for the issue:
No response