为了账号安全,请及时绑定邮箱和手机立即绑定

如何在没有交叉函数的情况下使用多个参数从 joblib 运行并行函数

如何在没有交叉函数的情况下使用多个参数从 joblib 运行并行函数

牛魔王的故事 2023-07-18 15:12:54
我正在尝试使用 joblib 中的并行函数来使用多个参数。我不确定,但它正在使用这些参数进行跨功能机制假设我有两个列表 [1,2] 和 [5,7],当我乘以列表时,我想要 5,14 作为输出。import multiprocessingfrom joblib import Parallel, delayedfrom tqdm import tqdmimport numpy as npdef my_function(myList, parameters):    print(myList*parameters)num_cores = multiprocessing.cpu_count()inputs = [1,2]parameters = [5,7]if __name__ == "__main__":    processed_list = Parallel(n_jobs=2)(delayed(my_function)(myList= i,parameters = j) for i in inputs for j in parameters)上面的代码似乎输出 5,7,10,14,但我想要 5,14,即 1 x 5,2 x 7
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

import multiprocessing

from joblib import Parallel, delayed

from tqdm import tqdm

import numpy as np


def my_function(myList, parameters):

    print(myList*parameters)



num_cores = multiprocessing.cpu_count()




inputs = ((2,3),(3,5))



if __name__ == "__main__":

    processed_list = Parallel(n_jobs=num_cores)(delayed(my_function)( i, j) for i,j  in inputs )

    

我发现我需要使用元组


查看完整回答
反对 回复 2023-07-18
  • 1 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信