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

我正在尝试使用 joblib 中的并行函数来使用多个参数。我不确定,但它正在使用这些参数进行跨功能机制


假设我有两个列表 [1,2] 和 [5,7],当我乘以列表时,我想要 5,14 作为输出。


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 = [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


牛魔王的故事
浏览 101回答 1
1回答

德玛西亚99

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 = ((2,3),(3,5))if __name__ == "__main__":    processed_list = Parallel(n_jobs=num_cores)(delayed(my_function)( i, j) for i,j  in inputs )    我发现我需要使用元组
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python