Scipy.optimize.mininize获得功能评估数

时间:2018-11-27 20:54:26

标签: python optimization scipy

我想将Scipy优化算法进行的函数求值数(Feval)存储在外部变量中,以计算整个程序进行的最终求值数(Scipy重复多次)。

2 个答案:

答案 0 :(得分:1)

您可以将其从优化对象中提取出来,并在每次外部Scipy调用时将其添加。为了查看如何获得函数求值数,请参见this scipy documentation。您可以参考同一页面上的示例以检查示例。

如果这样做无济于事,您可以包装成本函数并尝试执行以下操作:

class F(object):

    def __init__(self, fn):

        self.n_calls = 0
        self.fn = fn

    def __call__(self, x):

        self.n_calls += 1
        return self.fn(x)

return F(fn)

答案 1 :(得分:0)

使用callback参数传递将递增全局整数的函数。