我正在使用joblib
从jupyter笔记本启动一组并行进程。然而,joblib.Parallel
本质上迫使我在调用它的那一刻join
。这对我来说是不必要的,因为进程将结果写入磁盘,并且不返回任何内容。我希望立即恢复对解释器的控制,允许进程继续在后台运行。我试图将对joblib.Parallel
的调用包装在一个threading.Thread
中,但效果是让所有内容都按顺序操作:
import threading
from joblib import Parallel, delayed
def inc(x):
return x+1
class ParallelProcessingThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
Parallel(n_jobs=32)(delayed(inc)(x)
for x in range(10000000)
)
thread = ParallelProcessingThread()
thread.start()
给我以下警告:
/usr/local/lib/python3.5/dist-packages/joblib/parallel.py:739: UserWarning: Loky-backed parallel loops cannot be nested below threads, setting n_jobs=1 **self._backend_args)
如何从joblib.Parallel
获得对解释器的控制权?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐