Hi all,
I’ve been trying to run 3dflex reconstruct on a particle stack (after decent training and generation), and I keep running into the following error:
> **** handle exception rc
> Traceback (most recent call last):
> File "cryosparc_master/cryosparc_compute/run.py", line 96, in cryosparc_compute.run.main
> File "/opt/cryosparc2/cryosparc2_worker/cryosparc_compute/jobs/flex_refine/run_highres.py", line 150, in run
> flexmod.do_hr_refinement_flex(numiter=params['flex_bfgs_num_iters'])
> File "cryosparc_master/cryosparc_compute/jobs/flex_refine/flexmod.py", line 1640, in cryosparc_compute.jobs.flex_refine.flexmod.do_hr_refinement_flex.lambda7
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_lbfgsb_py.py", line 199, in fmin_l_bfgs_b
> res = _minimize_lbfgsb(fun, x0, args=args, jac=jac, bounds=bounds,
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_lbfgsb_py.py", line 308, in _minimize_lbfgsb
> sf = _prepare_scalar_function(fun, x0, jac=jac, args=args, epsilon=eps,
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_optimize.py", line 263, in _prepare_scalar_function
> sf = ScalarFunction(fun, x0, args, grad, hess,
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_differentiable_functions.py", line 158, in __init__
> self._update_fun()
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_differentiable_functions.py", line 251, in _update_fun
> self._update_fun_impl()
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_differentiable_functions.py", line 155, in update_fun
> self.f = fun_wrapped(self.x)
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_differentiable_functions.py", line 137, in fun_wrapped
> fx = fun(np.copy(x), *args)
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_optimize.py", line 76, in __call__
> self._compute_if_needed(x, *args)
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/scipy/optimize/_optimize.py", line 70, in _compute_if_needed
> fg = self.fun(x, *args)
> File "cryosparc_master/cryosparc_compute/jobs/flex_refine/flexmod.py", line 1640, in cryosparc_compute.jobs.flex_refine.flexmod.do_hr_refinement_flex.lambda7
> File "cryosparc_master/cryosparc_compute/jobs/flex_refine/flexmod.py", line 1621, in cryosparc_compute.jobs.flex_refine.flexmod.errfunc_flex
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/torch/_tensor.py", line 488, in backward
> torch.autograd.backward(
> File "/opt/cryosparc2/cryosparc2_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/site-packages/torch/autograd/__init__.py", line 197, in backward
> Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass
> torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 2.17 GiB (GPU 0; 10.91 GiB total capacity; 8.56 GiB already allocated; 649.38 MiB free; 9.68 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
> set status to failed
Any ideas on how to address this? Our GPUs have 12 gb, so not sure why it’s running out. Also I’m not sure where to try the ‘max_split_size_mb’ srgument, does that go straight into the command line?
Any help much appreciated,
Fred