gpt4 book ai didi

python - joblib.Parallel 是否保持原始数据传递顺序?

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:51 64 4
gpt4 key购买 nike

我想问同样的问题 Python 3: does Pool keep the original order of data passed to map?对于作业库。例如:

Parallel(n_jobs=2)(delayed(sqrt)(i ** 2) for i in x)

语法有点隐含,但我总是担心并行处理输出的顺序,我不想根据未记录的行为编写代码。

最佳答案

TL;DR - 它保留了两个后端的顺序。

扩展@Chris Farr 的回答,我实现了一个简单的测试。我让函数等待一些随机时间(您可以检查这些等待时间是否不相同)。我知道每次都有两个后端保留顺序。

from joblib import Parallel, delayed
import numpy as np
import time

def f(wait):
time.sleep(wait)
return wait

n = 50
waits = np.random.uniform(low=0, high=1, size=n)
res = Parallel(n_jobs=8, backend='multiprocessing')(delayed(f)(wait) for wait in waits)
np.all(res == waits)

关于python - joblib.Parallel 是否保持原始数据传递顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56659294/

64 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com