如何 运行 来自 joblib 的具有多参数且没有交叉函数的并行函数

How to run Parallel function from joblib with multi arguments without cross function

我正在尝试使用 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

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 )
    

我发现我需要使用元组