Pickling Error when running Micrograph Denoiser

Hi,

I am excited to try the new micrograph denoiser feature in v4.5. I recently updated my local workstation to v4.5.0 and ran the micrograph denoiser job. As an input for the job I used CTF corrected micrographs, from movies that were imported and patch motion corrected after updating to v4.5.0. Please let me know if you need any other information!

Best,
Andy

The error is as follows:


[CPU:  579.3 MB  Avail: 120.32 GB]
concurrent.futures.process._RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/data/software/cryosparc/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.10/multiprocessing/queues.py", line 244, in _feed
    obj = _ForkingPickler.dumps(obj)
  File "/data/software/cryosparc/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.10/multiprocessing/reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <cyfunction work_prep_denoise_train at 0x7f44844e5970>: import of module 'cryosparc_master.cryosparc_compute.jobs.micrograph_analysis.data_prep' failed
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "cryosparc_master/cryosparc_compute/run.py", line 115, in cryosparc_master.cryosparc_compute.run.main
  File "cryosparc_master/cryosparc_compute/jobs/micrograph_analysis/run_denoise.py", line 207, in cryosparc_master.cryosparc_compute.jobs.micrograph_analysis.run_denoise.run_train
  File "cryosparc_master/cryosparc_compute/jobs/micrograph_analysis/data_prep.py", line 274, in cryosparc_master.cryosparc_compute.jobs.micrograph_analysis.data_prep.SafePPE.do_work
  File "/data/software/cryosparc/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.10/concurrent/futures/_base.py", line 458, in result
    return self.__get_result()
  File "/data/software/cryosparc/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/data/software/cryosparc/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.10/multiprocessing/queues.py", line 244, in _feed
    obj = _ForkingPickler.dumps(obj)
  File "/data/software/cryosparc/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.10/multiprocessing/reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)
_pickle.PicklingError: Can't pickle <cyfunction work_prep_denoise_train at 0x7f44844e5970>: import of module 'cryosparc_master.cryosparc_compute.jobs.micrograph_analysis.data_prep' failed
1 Like

Just saw this after posting basically the same - we see the same error on our system

1 Like

We are seeing the same issue here.

likewise with this pickling issue

import of module ‘cryosparc_master.cryosparc_compute.jobs.micrograph_analysis.data_prep’ failed

Hi all, thank you for reporting - we have reproduced the error and are working on a fix. Thanks!

This issue is now fixed in v4.5.1. Please see the change log here: Latest Updates | CryoSPARC

1 Like