-
Notifications
You must be signed in to change notification settings - Fork 59
Description
Hello,
I am trying to run Palantir on my dataset to be able to eventually use Cellrank2. I am getting an error message (pasted below). I have loaded the scipy module and imported the necessary features as mentioned in the tutorial. How can I fix this? Thanks.
`---------------------------------------------------------------------------
_RemoteTraceback Traceback (most recent call last)
_RemoteTraceback:
"""
Traceback (most recent call last):
File "/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/joblib/externals/loky/process_executor.py", line 616, in wait_result_broken_or_wakeup
result_item = result_reader.recv()
File "/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/multiprocessing/connection.py", line 251, in recv
return _ForkingPickler.loads(buf.getbuffer())
ModuleNotFoundError: No module named 'scipy.sparse._csr'
"""
The above exception was the direct cause of the following exception:
BrokenProcessPool Traceback (most recent call last)
in
----> 1 imputed_X = palantir.utils.run_magic_imputation(adata)
~/.local/lib/python3.8/site-packages/palantir/utils.py in run_magic_imputation(data, dm_res, n_steps, sim_key, expression_key, imputation_key, n_jobs)
570
571 # Run the dot product in parallel on chunks
--> 572 res = Parallel(n_jobs=n_jobs)(
573 delayed(_dot_helper_func)(T_steps, X[:, chunks[i - 1] : chunks[i]])
574 for i in range(1, len(chunks))
/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/joblib/parallel.py in call(self, iterable)
1052
1053 with self._backend.retrieval_context():
-> 1054 self.retrieve()
1055 # Make sure that we get a last message telling us we are done
1056 elapsed_time = time.time() - self._start_time
/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/joblib/parallel.py in retrieve(self)
931 try:
932 if getattr(self._backend, 'supports_timeout', False):
--> 933 self._output.extend(job.get(timeout=self.timeout))
934 else:
935 self._output.extend(job.get())
/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/site-packages/joblib/_parallel_backends.py in wrap_future_result(future, timeout)
540 AsyncResults.get from multiprocessing."""
541 try:
--> 542 return future.result(timeout=timeout)
543 except CfTimeoutError as e:
544 raise TimeoutError from e
/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/concurrent/futures/_base.py in result(self, timeout)
437 raise CancelledError()
438 elif self._state == FINISHED:
--> 439 return self.__get_result()
440 else:
441 raise TimeoutError()
/ihome/crc/install/python/ondemand-jupyter-python3.8/lib/python3.8/concurrent/futures/_base.py in __get_result(self)
386 def __get_result(self):
387 if self._exception:
--> 388 raise self._exception
389 else:
390 return self._result
BrokenProcessPool: A result has failed to un-serialize. Please ensure that the objects returned by the function are always picklable.`