1 回答

TA貢獻1772條經驗 獲得超5個贊
您可以使用期望元組的元組,這些元組是函數的參數。在這里,為了顯示步驟,我提前生成了元組并將其存儲在func_arg_tuple中。pool.starmap
此外,無需在data_generation函數中保存結果的中間步驟。只需返回要處理的值,當池的工作完成時,它將在值中。results
import multiprocessing
def data_generation(param1, param2, param3):
# sample processing function - add your own
return np.random.normal(param3, param1, param2)
param1 = 1
param2 = 2
with multiprocessing.Pool(processes=multiprocessing.cpu_count()) as pool:
func_arg_tuple = tuple((param1, param2, ratio) for ratio in np.arange(0.3, 1.4, 0.1))
results = pool.starmap(data_generation, func_arg_tuple)
>>>results
[array([-0.89459092, 2.03727378]),
array([-0.79459092, 2.13727378]),
array([-0.69459092, 2.23727378]),
array([0.57145244, 0.75501116]),
array([ 2.40776746, -0.17882601]),
array([0.77145244, 0.95501116]),
array([-0.88291467, 1.3072801 ]),
array([0.97145244, 1.15501116]),
array([0.0123457 , 2.25667152]),
array([2.90776746, 0.32117399]),
array([3.00776746, 0.42117399])]
添加回答
舉報