Open noxtoby opened 3 years ago
Would you be able to post the full error? I can't see anything in the release notes in numpy
v1.21 that relate to pickle
, so I'm not sure why downgrading would fix the issue.
If you really really want me to, yes.
But the idea of reinstalling 1.21 and re-running pySuStaIn does not fill me with excitement
Now it's also failing on numpy 1.20. Not sure why I thought 1.20 fixed it (it was very late...)
Could it be something to do with multiprocessing
or pathos.multiprocessing
trying to pickle everything?
PicklingError Traceback (most recent call last)
<ipython-input-7-41457a54ebd5> in <module>
5 test_idxs_validate.append(test_validate)
6 test_idxs_validate = np.array(test_idxs_validate)
----> 7 CVIC_validate, loglike_matrix_validate = sustain_kdeebm_validate.cross_validate_sustain_model(test_idxs_validate,plot=True)
/usr/local/lib/python3.9/site-packages/pySuStaIn/AbstractSustain.py in cross_validate_sustain_model(self, test_idxs, select_fold, plot)
308 ml_sequence_mat_EM, \
309 ml_f_mat_EM, \
--> 310 ml_likelihood_mat_EM = self._estimate_ml_sustain_model_nplus1_clusters(sustainData_train, ml_sequence_prev_EM, ml_f_prev_EM)
311
312 seq_init = ml_sequence_EM
/usr/local/lib/python3.9/site-packages/pySuStaIn/AbstractSustain.py in _estimate_ml_sustain_model_nplus1_clusters(self, sustainData, ml_sequence_prev, ml_f_prev)
582 ml_sequence_mat, \
583 ml_f_mat, \
--> 584 ml_likelihood_mat = self._find_ml(sustainData)
585 print('Overall ML likelihood is', ml_likelihood)
586
/usr/local/lib/python3.9/site-packages/pySuStaIn/AbstractSustain.py in _find_ml(self, sustainData)
671 partial_iter = partial(self._find_ml_iteration, sustainData)
672 seed_sequences = np.random.SeedSequence(self.global_rng.integers(1e10))
--> 673 pool_output_list = self.pool.map(partial_iter, seed_sequences.spawn(self.N_startpoints))
674
675 if ~isinstance(pool_output_list, list):
/usr/local/lib/python3.9/site-packages/pathos/multiprocessing.py in map(self, f, *args, **kwds)
137 AbstractWorkerPool._AbstractWorkerPool__map(self, f, *args, **kwds)
138 _pool = self._serve()
--> 139 return _pool.map(star(f), zip(*args)) # chunksize
140 map.__doc__ = AbstractWorkerPool.map.__doc__
141 def imap(self, f, *args, **kwds):
/usr/local/lib/python3.9/site-packages/multiprocess/pool.py in map(self, func, iterable, chunksize)
362 in a list that is returned.
363 '''
--> 364 return self._map_async(func, iterable, mapstar, chunksize).get()
365
366 def starmap(self, func, iterable, chunksize=None):
/usr/local/lib/python3.9/site-packages/multiprocess/pool.py in get(self, timeout)
769 return self._value
770 else:
--> 771 raise self._value
772
773 def _set(self, i, obj):
/usr/local/lib/python3.9/site-packages/multiprocess/pool.py in _handle_tasks(taskqueue, put, outqueue, pool, cache)
535 break
536 try:
--> 537 put(task)
538 except Exception as e:
539 job, idx = task[:2]
/usr/local/lib/python3.9/site-packages/multiprocess/connection.py in send(self, obj)
212 self._check_closed()
213 self._check_writable()
--> 214 self._send_bytes(_ForkingPickler.dumps(obj))
215
216 def recv_bytes(self, maxlength=None):
/usr/local/lib/python3.9/site-packages/multiprocess/reduction.py in dumps(cls, obj, protocol, *args, **kwds)
52 def dumps(cls, obj, protocol=None, *args, **kwds):
53 buf = io.BytesIO()
---> 54 cls(buf, protocol, *args, **kwds).dump(obj)
55 return buf.getbuffer()
56
/usr/local/lib/python3.9/site-packages/dill/_dill.py in dump(self, obj)
496 raise PicklingError(msg)
497 else:
--> 498 StockPickler.dump(self, obj)
499 stack.clear() # clear record of 'recursion-sensitive' pickled objects
500 return
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in dump(self, obj)
485 if self.proto >= 4:
486 self.framer.start_framing()
--> 487 self.save(obj)
488 self.write(STOP)
489 self.framer.end_framing()
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
899 write(MARK)
900 for element in obj:
--> 901 save(element)
902
903 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
884 if n <= 3 and self.proto >= 2:
885 for element in obj:
--> 886 save(element)
887 # Subtle. Same as in the big comment below.
888 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
884 if n <= 3 and self.proto >= 2:
885 for element in obj:
--> 886 save(element)
887 # Subtle. Same as in the big comment below.
888 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_function(pickler, obj)
1491 if _memo: pickler._recurse = False
1492 fkwdefaults = getattr(obj, '__kwdefaults__', None)
-> 1493 pickler.save_reduce(_create_function, (obj.__code__,
1494 globs, obj.__name__,
1495 obj.__defaults__, obj.__closure__,
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
690 else:
691 save(func)
--> 692 save(args)
693 write(REDUCE)
694
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
899 write(MARK)
900 for element in obj:
--> 901 save(element)
902
903 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
884 if n <= 3 and self.proto >= 2:
885 for element in obj:
--> 886 save(element)
887 # Subtle. Same as in the big comment below.
888 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_cell(pickler, obj)
1225 log.info("Ce: %s" % obj)
1226 f = obj.cell_contents
-> 1227 pickler.save_reduce(_create_cell, (f,), obj=obj)
1228 log.info("# Ce")
1229 return
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
690 else:
691 save(func)
--> 692 save(args)
693 write(REDUCE)
694
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
884 if n <= 3 and self.proto >= 2:
885 for element in obj:
--> 886 save(element)
887 # Subtle. Same as in the big comment below.
888 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_functor(pickler, obj)
1133 def save_functor(pickler, obj):
1134 log.info("Fu: %s" % obj)
-> 1135 pickler.save_reduce(_create_ftype, (type(obj), obj.func, obj.args,
1136 obj.keywords), obj=obj)
1137 log.info("# Fu")
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
690 else:
691 save(func)
--> 692 save(args)
693 write(REDUCE)
694
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
899 write(MARK)
900 for element in obj:
--> 901 save(element)
902
903 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_instancemethod0(pickler, obj)
1174 log.info("Me: %s" % obj) #XXX: obj.__dict__ handled elsewhere?
1175 if PY3:
-> 1176 pickler.save_reduce(MethodType, (obj.__func__, obj.__self__), obj=obj)
1177 else:
1178 pickler.save_reduce(MethodType, (obj.im_func, obj.im_self,
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
690 else:
691 save(func)
--> 692 save(args)
693 write(REDUCE)
694
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
884 if n <= 3 and self.proto >= 2:
885 for element in obj:
--> 886 save(element)
887 # Subtle. Same as in the big comment below.
888 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_function(pickler, obj)
1491 if _memo: pickler._recurse = False
1492 fkwdefaults = getattr(obj, '__kwdefaults__', None)
-> 1493 pickler.save_reduce(_create_function, (obj.__code__,
1494 globs, obj.__name__,
1495 obj.__defaults__, obj.__closure__,
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
690 else:
691 save(func)
--> 692 save(args)
693 write(REDUCE)
694
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
899 write(MARK)
900 for element in obj:
--> 901 save(element)
902
903 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_module_dict(pickler, obj)
988 # we only care about session the first pass thru
989 pickler._session = False
--> 990 StockPickler.save_dict(pickler, obj)
991 log.info("# D2")
992 return
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_dict(self, obj)
969
970 self.memoize(obj)
--> 971 self._batch_setitems(obj.items())
972
973 dispatch[dict] = save_dict
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in _batch_setitems(self, items)
995 for k, v in tmp:
996 save(k)
--> 997 save(v)
998 write(SETITEMS)
999 elif n:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_module(pickler, obj)
1373 [_main_dict.pop(item, None) for item in singletontypes
1374 + ["__builtins__", "__loader__"]]
-> 1375 pickler.save_reduce(_import_module, (obj.__name__,), obj=obj,
1376 state=_main_dict)
1377 log.info("# M1")
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
715 if state is not None:
716 if state_setter is None:
--> 717 save(state)
718 write(BUILD)
719 else:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_module_dict(pickler, obj)
988 # we only care about session the first pass thru
989 pickler._session = False
--> 990 StockPickler.save_dict(pickler, obj)
991 log.info("# D2")
992 return
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_dict(self, obj)
969
970 self.memoize(obj)
--> 971 self._batch_setitems(obj.items())
972
973 dispatch[dict] = save_dict
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in _batch_setitems(self, items)
995 for k, v in tmp:
996 save(k)
--> 997 save(v)
998 write(SETITEMS)
999 elif n:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_function(pickler, obj)
1491 if _memo: pickler._recurse = False
1492 fkwdefaults = getattr(obj, '__kwdefaults__', None)
-> 1493 pickler.save_reduce(_create_function, (obj.__code__,
1494 globs, obj.__name__,
1495 obj.__defaults__, obj.__closure__,
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_reduce(self, func, args, state, listitems, dictitems, state_setter, obj)
690 else:
691 save(func)
--> 692 save(args)
693 write(REDUCE)
694
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_tuple(self, obj)
899 write(MARK)
900 for element in obj:
--> 901 save(element)
902
903 if id(obj) in memo:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_module_dict(pickler, obj)
988 # we only care about session the first pass thru
989 pickler._session = False
--> 990 StockPickler.save_dict(pickler, obj)
991 log.info("# D2")
992 return
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_dict(self, obj)
969
970 self.memoize(obj)
--> 971 self._batch_setitems(obj.items())
972
973 dispatch[dict] = save_dict
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in _batch_setitems(self, items)
995 for k, v in tmp:
996 save(k)
--> 997 save(v)
998 write(SETITEMS)
999 elif n:
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save(self, obj, save_persistent_id)
558 f = self.dispatch.get(t)
559 if f is not None:
--> 560 f(self, obj) # Call unbound method with explicit self
561 return
562
/usr/local/lib/python3.9/site-packages/dill/_dill.py in save_type(pickler, obj)
1437 #print ("%s\n%s" % (obj.__bases__, obj.__dict__))
1438 name = getattr(obj, '__qualname__', getattr(obj, '__name__', None))
-> 1439 StockPickler.save_global(pickler, obj, name=name)
1440 log.info("# T4")
1441 return
/usr/local/Cellar/python@3.9/3.9.5/Frameworks/Python.framework/Versions/3.9/lib/python3.9/pickle.py in save_global(self, obj, name)
1068 obj2, parent = _getattribute(module, name)
1069 except (ImportError, KeyError, AttributeError):
-> 1070 raise PicklingError(
1071 "Can't pickle %r: it's not found as %s.%s" %
1072 (obj, module_name, name)) from None
PicklingError: Can't pickle <class 'ellipsis'>: it's not found as builtins.ellipsis```
pathos
uses dill
to pickle (referenced in the stack, fortunately) which can pickle Ellipsis
. I am not clear at all how it got to that point, and what is causing this, as the pickling should not have changed. Did you recently change Python version?
Either way, I'll spin up a 3.9 environment and try to recreate this. If you could post/send me either your pip freeze
or conda list
output that would help reproducing this!
No recent change to python: 3.9
I originally wondered if multiprocessing
was to blame, but it's only used in pySuStaIn
to get the number of cores.
>> pip freeze academic==0.7.0 alabaster==0.7.12 anyio==3.2.1 appdirs==1.4.4 appnope==0.1.2 argon2-cffi==20.1.0 arrow==1.1.0 astroid==2.5.6 async-generator==1.10 attrs==20.3.0 awkde @ git+https://github.com/noxtoby/awkde.git@b714c99f6272e123864a5d3f23cefc4fbf923b61 Babel==2.9.1 backcall==0.2.0 beautifulsoup4==4.9.3 bibtexparser==1.1.0 bleach==3.3.0 build==0.3.1.post1 certifi==2021.5.30 cffi==1.14.5 chardet==4.0.0 ci-info==0.2.0 click==7.1.2 cmdstanpy==0.9.67 colorama==0.4.4 configobj==5.0.6 cycler==0.10.0 Cython==0.29.21 dcmstack==0.8.0 debugpy==1.3.0 decorator==4.4.2 defusedxml==0.7.1 Deprecated==1.2.12 dicom-csv==0.2.0 dicom2nifti==2.3.0 dicomsort==3.0.0 dill==0.3.4 distlib==0.3.1 docutils==0.16 entrypoints==0.3 etelemetry==0.2.2 filelock==3.0.12 filetype==1.0.7 future==0.18.2 ghp-import==2.0.1 gitdb==4.0.7 GitPython==3.1.18 heudiconv==0.9.0 idna==2.10 imagesize==1.2.0 importlib-metadata==4.6.0 ipykernel==6.0.1 ipython==7.25.0 ipython-genutils==0.2.0 ipywidgets==7.6.3 isodate==0.6.0 isort==5.8.0 jedi==0.18.0 Jinja2==3.0.1 joblib==1.0.1 json5==0.9.5 jsonschema==3.2.0 jupyter==1.0.0 jupyter-book==0.11.1 jupyter-cache==0.4.2 jupyter-client==6.1.12 jupyter-console==6.4.0 jupyter-core==4.7.1 jupyter-server==1.9.0 jupyter-server-mathjax==0.2.3 jupyter-sphinx==0.3.2 jupyterbook-latex==0.3.1 jupyterlab==2.2.9 jupyterlab-pygments==0.1.2 jupyterlab-server==1.2.0 jupyterlab-widgets==1.0.0 jupytext==1.10.3 kde-ebm @ git+https://github.com/ucl-pond/kde_ebm.git@489d68a179115db3be64979100e86cc8dde9bf3b keyring==12.0.2 kiwisolver==1.3.1 latexcodec==2.0.1 lazy-object-proxy==1.6.0 linalg==1.0.4 linkify-it-py==1.0.1 loo==1.0.0a4 lxml==4.6.3 markdown-it-py==0.6.2 MarkupSafe==2.0.1 matplotlib==3.4.2 matplotlib-inline==0.1.2 mccabe==0.6.1 mdit-py-plugins==0.2.6 missingdata==0.1.3 mistune==0.8.4 multiprocess==0.70.12.2 mypy-extensions==0.4.3 myst-nb==0.12.3 myst-parser==0.13.7 natsort==7.1.1 nbclient==0.5.3 nbconvert==5.6.1 nbdime==3.1.0 nbformat==5.1.3 nest-asyncio==1.5.1 networkx==2.5.1 nibabel==3.2.1 nipype==1.6.1 notebook==6.4.0 numpy==1.20.0 packaging==20.9 pandas==1.2.5 pandocfilters==1.4.3 parso==0.8.2 pathos==0.2.8 pathspec==0.8.1 patsy==0.5.1 pep517==0.10.0 pexpect==4.8.0 pickle5==0.0.11 pickleshare==0.7.5 Pillow==8.2.0 plotly==5.1.0 pluggy==0.13.1 pox==0.3.0 ppft==1.6.6.4 prometheus-client==0.11.0 prompt-toolkit==3.0.19 prov==2.0.0 ptyprocess==0.7.0 pybind11==2.6.2 pybtex==0.24.0 pybtex-docutils==1.0.0 pycodestyle==2.6.0 pycparser==2.20 pydata-sphinx-theme==0.6.3 pydicom==2.1.2 pydot==1.4.2 pyflakes==2.2.0 Pygments==2.9.0 pyobjc-core==7.3 pyobjc-framework-Accounts==7.3 pyobjc-framework-AddressBook==7.3 pyobjc-framework-AdSupport==7.3 pyobjc-framework-AppleScriptKit==7.3 pyobjc-framework-AppleScriptObjC==7.3 pyobjc-framework-ApplicationServices==7.3 pyobjc-framework-AuthenticationServices==7.3 pyobjc-framework-AutomaticAssessmentConfiguration==7.3 pyobjc-framework-Automator==7.3 pyobjc-framework-AVFoundation==7.3 pyobjc-framework-AVKit==7.3 pyobjc-framework-BusinessChat==7.3 pyobjc-framework-CalendarStore==7.3 pyobjc-framework-CFNetwork==7.3 pyobjc-framework-CloudKit==7.3 pyobjc-framework-Cocoa==7.3 pyobjc-framework-Collaboration==7.3 pyobjc-framework-ColorSync==7.3 pyobjc-framework-Contacts==7.3 pyobjc-framework-ContactsUI==7.3 pyobjc-framework-CoreAudio==7.3 pyobjc-framework-CoreAudioKit==7.3 pyobjc-framework-CoreBluetooth==7.3 pyobjc-framework-CoreData==7.3 pyobjc-framework-CoreHaptics==7.3 pyobjc-framework-CoreLocation==7.3 pyobjc-framework-CoreMedia==7.3 pyobjc-framework-CoreMediaIO==7.3 pyobjc-framework-CoreMIDI==7.3 pyobjc-framework-CoreML==7.3 pyobjc-framework-CoreMotion==7.3 pyobjc-framework-CoreServices==7.3 pyobjc-framework-CoreSpotlight==7.3 pyobjc-framework-CoreText==7.3 pyobjc-framework-CoreWLAN==7.3 pyobjc-framework-CryptoTokenKit==7.3 pyobjc-framework-DeviceCheck==7.3 pyobjc-framework-DictionaryServices==7.3 pyobjc-framework-DiscRecording==7.3 pyobjc-framework-DiscRecordingUI==7.3 pyobjc-framework-DiskArbitration==7.3 pyobjc-framework-DVDPlayback==7.3 pyobjc-framework-EventKit==7.3 pyobjc-framework-ExceptionHandling==7.3 pyobjc-framework-ExecutionPolicy==7.3 pyobjc-framework-ExternalAccessory==7.3 pyobjc-framework-FileProvider==7.3 pyobjc-framework-FileProviderUI==7.3 pyobjc-framework-FinderSync==7.3 pyobjc-framework-FSEvents==7.3 pyobjc-framework-GameCenter==7.3 pyobjc-framework-GameController==7.3 pyobjc-framework-GameKit==7.3 pyobjc-framework-GameplayKit==7.3 pyobjc-framework-ImageCaptureCore==7.3 pyobjc-framework-IMServicePlugIn==7.3 pyobjc-framework-InputMethodKit==7.3 pyobjc-framework-InstallerPlugins==7.3 pyobjc-framework-InstantMessage==7.3 pyobjc-framework-Intents==7.3 pyobjc-framework-IOSurface==7.3 pyobjc-framework-iTunesLibrary==7.3 pyobjc-framework-LatentSemanticMapping==7.3 pyobjc-framework-LaunchServices==7.3 pyobjc-framework-libdispatch==7.3 pyobjc-framework-LinkPresentation==7.3 pyobjc-framework-LocalAuthentication==7.3 pyobjc-framework-MapKit==7.3 pyobjc-framework-MediaAccessibility==7.3 pyobjc-framework-MediaLibrary==7.3 pyobjc-framework-MediaPlayer==7.3 pyobjc-framework-MediaToolbox==7.3 pyobjc-framework-Metal==7.3 pyobjc-framework-MetalKit==7.3 pyobjc-framework-MetalPerformanceShaders==7.3 pyobjc-framework-ModelIO==7.3 pyobjc-framework-MultipeerConnectivity==7.3 pyobjc-framework-NaturalLanguage==7.3 pyobjc-framework-NetFS==7.3 pyobjc-framework-Network==7.3 pyobjc-framework-NetworkExtension==7.3 pyobjc-framework-NotificationCenter==7.3 pyobjc-framework-OpenDirectory==7.3 pyobjc-framework-OSAKit==7.3 pyobjc-framework-OSLog==7.3 pyobjc-framework-PencilKit==7.3 pyobjc-framework-Photos==7.3 pyobjc-framework-PhotosUI==7.3 pyobjc-framework-PreferencePanes==7.3 pyobjc-framework-PushKit==7.3 pyobjc-framework-Quartz==7.3 pyobjc-framework-QuickLookThumbnailing==7.3 pyobjc-framework-SafariServices==7.3 pyobjc-framework-SceneKit==7.3 pyobjc-framework-ScreenSaver==7.3 pyobjc-framework-ScriptingBridge==7.3 pyobjc-framework-SearchKit==7.3 pyobjc-framework-Security==7.3 pyobjc-framework-SecurityFoundation==7.3 pyobjc-framework-SecurityInterface==7.3 pyobjc-framework-ServiceManagement==7.3 pyobjc-framework-Social==7.3 pyobjc-framework-SoundAnalysis==7.3 pyobjc-framework-Speech==7.3 pyobjc-framework-SpriteKit==7.3 pyobjc-framework-StoreKit==7.3 pyobjc-framework-SyncServices==7.3 pyobjc-framework-SystemConfiguration==7.3 pyobjc-framework-SystemExtensions==7.3 pyobjc-framework-UserNotifications==7.3 pyobjc-framework-VideoSubscriberAccount==7.3 pyobjc-framework-VideoToolbox==7.3 pyobjc-framework-Vision==7.3 pyobjc-framework-WebKit==7.3 pyparsing==2.4.7 PyQt3D==5.15.4 PyQt5==5.15.4 PyQt5-sip==12.9.0 PyQtChart==5.15.4 PyQtDataVisualization==5.15.4 PyQtNetworkAuth==5.15.4 PyQtPurchasing==5.15.4 PyQtWebEngine==5.15.4 pyrsistent==0.18.0 pystan==2.19.1.1 pySuStaIn @ git+https://github.com/ucl-pond/pySuStaIn@76ec40da7e3ac1411f1e419ddbabbba861055284 python-dateutil==2.8.1 python-jsonrpc-server==0.4.0 python-language-server==0.36.2 python-slugify==5.0.2 pytz==2021.1 PyYAML==5.4.1 pyzmq==22.1.0 qtconsole==5.1.0 QtPy==1.9.0 rdflib==5.0.0 regex==2021.4.4 requests==2.25.1 requests-unixsocket==0.2.0 rope==0.19.0 ruamel.yaml==0.16.10 scikit-learn==0.24.2 scipy==1.7.0 seaborn==0.11.1 Send2Trash==1.7.1 simplejson==3.17.2 six==1.16.0 sklearn==0.0 smmap==4.0.0 sniffio==1.2.0 snowballstemmer==2.1.0 sortedcontainers==2.4.0 soupsieve==2.2.1 Sphinx==3.5.4 sphinx-book-theme==0.1.0 sphinx-comments==0.0.3 sphinx-copybutton==0.3.3 sphinx-external-toc==0.2.2 sphinx-panels==0.5.2 sphinx-thebe==0.0.8 sphinx-togglebutton==0.2.3 sphinxcontrib-applehelp==1.0.2 sphinxcontrib-bibtex==2.2.1 sphinxcontrib-devhelp==1.0.2 sphinxcontrib-htmlhelp==2.0.0 sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 SQLAlchemy==1.3.24 stats==0.1.2a0 statsmodels==0.12.2 synapseclient==2.3.1 tenacity==7.0.0 terminado==0.10.1 testpath==0.5.0 text-unidecode==1.3 threadpoolctl==2.1.0 tinycss2==1.1.0 toml==0.10.2 tornado==6.1 tqdm==4.61.1 traitlets==5.0.5 traits==6.2.0 typing-extensions==3.10.0.0 uc-micro-py==1.0.1 ujson==4.0.2 urllib3==1.26.6 virtualenv==20.4.3 wcwidth==0.2.5 webencodings==0.5.1 websocket-client==1.1.0 widgetsnbextension==3.5.1 wrapt==1.12.1 wurlitzer==2.1.0 wxPython==4.1.1 xlrd==2.0.1 yapf==0.31.0 zipp==3.4.1
I can't reproduce this issue with that environment, so it may be specific to Mac...?
Does anyone else have a Mac that may be able to investigate this further? @LeonAksman @ayoung11 @pawij
Just putting this here for reference. Not sure there's anything we can do.
use_parallel_startpoints
fails on my Mac because pickle cannot pickle a numpy object.I was using numpy 1.21 and managed to fix the issue by downgrading to v1.20