I get the same error. This is on OS X. The following code:
#!/usr/bin/env python
import bambi, pandas
df = pandas.DataFrame({"y": [1, 3], "group": ["a", "b"]})
model = bambi.Model("y ~ group", df)
model.fit(cores=4)
Results in this traceback:
WARNING (pytensor.tensor.blas): Using NumPy C-API based implementation for BLAS functions.
Auto-assigning NUTS sampler...
Initializing NUTS using jitter+adapt_diag...
Multiprocess sampling (4 chains in 4 jobs)
NUTS: [y_sigma, Intercept, group]
Traceback (most recent call last):
File "error.py", line 7, in <module>
model.fit(cores=4)
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/bambi/models.py", line 325, in fit
return self.backend.run(
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/bambi/backend/pymc.py", line 96, in run
result = self._run_mcmc(
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/bambi/backend/pymc.py", line 172, in _run_mcmc
idata = pm.sample(
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/pymc/sampling/mcmc.py", line 766, in sample
_mp_sample(**sample_args, **parallel_args)
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/pymc/sampling/mcmc.py", line 1141, in _mp_sample
sampler = ps.ParallelSampler(
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/pymc/sampling/parallel.py", line 400, in __init__
step_method_pickled = cloudpickle.dumps(step_method, protocol=-1)
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/cloudpickle/cloudpickle_fast.py", line 73, in dumps
cp.dump(obj)
File "/Users/terry/miniconda3/envs/310/lib/python3.10/site-packages/cloudpickle/cloudpickle_fast.py", line 632, in dump
return Pickler.dump(self, obj)
TypeError: cannot pickle 'fortran' object
This is on OS X 13.4.1 with Python 3.10 and pymc 5.6.1.
Thanks for any help!
Terry