gpt4 book ai didi

python - 具有多个参数的多处理映射

转载 作者:太空宇宙 更新时间:2023-11-03 18:33:04 28 4
gpt4 key购买 nike

鉴于我的算法的随机结构,我想并行运行它数百次。参数每次都保持不变。

两种实现都会引发某种异常(PicklingError 或 TypeError)。

from multiprocessing import Pool
from itertools import izip, repeat

if __name__ == '__main__':
G = Class1Object()
S = Class2Object()

pool = multiprocessing.Pool(processes=multiprocessing.cpu_count())

# take 1 tuple input
# parfun = lambda (G,S): fun(G,S)
# T = pool.map(parfun, izip(repeat(G, 2), repeat(S, 2)))

# take 2 arguments
T = pool.map(fun, [G]*2, [S]*2)

并行运行具有多个参数的函数的最快、最方便的方法是什么?

最佳答案

map() 函数仅接受单个迭代。因此,也许您可​​以创建一个可迭代函数来返回您需要的不同元组(或者只是创建一个元组数组并传递它)。

请注意,您在尝试跨进程边界发送对象时可能会遇到问题。 See my answer here in which I tackled the same issue .

关于python - 具有多个参数的多处理映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22088266/

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