Python 并行运行优化器

Python 并行运行优化器,python,multithreading,bash,scipy,Python,Multithreading,Bash,Scipy,我想同时为f列表中的不同参数运行fmin_-powell优化器 f = ['1','2','3','4','5','6'] optg_res = opt.fmin_powell(runner, coeff, args=(f,f), disp=0) 有什么简单的方法吗?也许我会使用任何bash命令来运行它 您可以为它使用多处理模块,并让对fmin_powell的每个调用在单独的进程中并行运行。map()将调用提交到进程池,并返回参数列表中每个值的结果值列表 根据问题中给出的代码,请参阅4个并行进

我想同时为f列表中的不同参数运行fmin_-powell优化器

f = ['1','2','3','4','5','6']
optg_res = opt.fmin_powell(runner, coeff, args=(f,f), disp=0)

有什么简单的方法吗?也许我会使用任何bash命令来运行它

您可以为它使用多处理模块,并让对fmin_powell的每个调用在单独的进程中并行运行。map()将调用提交到进程池,并返回参数列表中每个值的结果值列表

根据问题中给出的代码,请参阅4个并行进程的示例代码:

from multiprocessing.pool import Pool

def optimize(f):
    return opt.fmin_powell(runner, coeff, args=(f,f), disp=0)

f = [1,2,3,4,5,6]

p = Pool(processes=4)
results = p.map(optimize,f)

如果我在runner函数中打开一个文件以保存迭代步骤,结果会好吗?我得到了具有正确名称的多个文件,但我觉得结果是随机保存的。写入文件应该可以,但请记住,调用optimize()的顺序取决于几个因素,请参见以下问题: