Я использую Parallel из joblib в моем питоне для обучения CNN. структура кода выглядит так:
crf = CRF()
with Parallel(n_jobs=num_cores) as pal_worker:
for epoch in range(n):
temp = pal_worker(delayed(crf.runCRF)(x[i],y[i]) for i in range(m))
Код может успешно выполняться в течение 1 или 2 эпох, а затем произошла ошибка (я перечисляю главное, что мне кажется важным):
......
File "/data_shared/Docker/tsun/software/anaconda3/envs/pytorch04/lib/python3.5/site-packages/joblib/numpy_pickle.py", line 104, in write_array
pickler.file_handle.write(chunk.tostring('C'))
OSError: [Errno 28] No space left on device
"""
The above exception was the direct cause of the following exception:
return future.result(timeout=timeout)
File
......
_pickle.PicklingError: Could not pickle the task to send it to the workers.
Я в замешательстве, поскольку на диске много места, и программа может успешно работать в течение 1 или 2 эпох. Я также попробовал:
with Parallel(n_jobs=num_cores,temp_folder='/dev/shm/temp') as pal_worker:
, поскольку в '/ dev / shm / temp' много места, но он не работает. Может ли кто-нибудь помочь, пожалуйста? Большое спасибо!