gpt4 book ai didi

Python joblib - 在Windows机器上获取并行计算的结果

转载 作者:行者123 更新时间:2023-12-01 04:31:34 24 4
gpt4 key购买 nike

这是我的代码:

from math import sqrt
from joblib import Parallel, delayed
import multiprocessing

def parallel_calc():
if __name__ == '__main__':
result = Parallel(n_jobs=2)(delayed(sqrt)(i ** 2) for i in range(10))
return result

result = parallel_calc()
print(result[-1])

它生成错误消息:print(result[-1]) TypeError: 'NoneType' object is not subscriptable。此外,它不会终止。

由于我使用的是 Window 7,我必须使用此检查 if __name__ == '__main__':,但是如何从 parallel_calc 函数获取结果?

最佳答案

if __name__...样板移到函数作用域之外。

if __name__ == '__main__':
def parallel_calc():
result = Parallel(n_jobs=2)(delayed(sqrt)(i ** 2) for i in range(10))
return result

result = parallel_calc()
print(result[-1])

由于您的 parallel_calc 函数不驻留在样板中,因此它被调用两次。

错误来自于第一次调用时未执行的Parallel进程,返回None

看看"Boilerplate code in Python"有关样板的更多信息

关于Python joblib - 在Windows机器上获取并行计算的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32336158/

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