python中基于多处理的分段错误

2024-06-17 12:28:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Python代码崩溃,并出现以下错误:

 Segmentation fault      (core dumped)

我使用multiprocessing来并行化一个函数,稍后我使用scipy.optimize.leastq将其最小化。我的代码如下:

^{pr2}$

然后我用leastsq最小化{}。问题是我只在最小化的第三次迭代中得到错误!这意味着para_function的前两个调用进行得很好,我只在第三个调用时得到崩溃。我还发现错误发生在mp.Pool()之前(当然是在para_function()的第三次调用中),并且只发生在大量进程(Npr=40)的情况下。在

然后程序是:

from scipy.optimize import leastsq

x0 = np.zeros(N) #The initial guess with N is number of optimization parameters
x = leastsq(para_function, x0, args=(Data1, Data2))

Tags: 函数代码core错误functionscipymultiprocessingoptimize