Python scipy.optimize.f_min_l_bfgs_b算法:如何获得额外的输出?

时间:2017-03-22 18:16:16

标签: python optimization scipy function-attributes

我正在使用Scipy包中的L-BFGS-B优化器。这是documentation.

我的代码具有以下结构。 obj_func是用于最小化" a"的目标函数。为了做到这一点,obj_func应该只返回" a"。

问题:有没有办法获得" b"和" c"来自obj_func?

目前我正在使用函数属性。但我不确定这是首选方式。

def obj_func(x, *args)
    a, b, c = compute(x) # compute is where major computation happens
    # I want to access b and c from outside the function
    obj_func.result = [b,c] # use function attribute
    return a

result = optimize.fmin_l_bfgs_b(obj_func, x0, bounds=bounds, args=args)
b, c = obj_func.result

0 个答案:

没有答案