从 Python 函数获取输出变量
Obtaining output variables from Python function
我正在使用一个函数 scipy.optimize.fmin_bfgs
,它有几个输出变量。我关心其中的两个,xopt 和 fopt。如何存储这些变量?以下对我不起作用:
xopt, fopt = fmin_bfgs(f, 0, fprime = fprime)
然而,这给了我 fopt
:
fopt = fmin_bfgs(f, 0, fprime = fprime)
我也需要xopt
,但是它说我"need 1 more value to unpack."
需要将full_output
设置为true,之后fopt
、func_calls
、grad_calls
、warnflag
也包含在内;您可以对返回的序列进行切片:
xopt, fopt = fmin_bfgs(f, 0, fprime = fprime, full_output=True)[:2]
参见 scipy.optimize.fmin_bfgs
documentation:
full_output
: bool, optional
If True,return fopt, func_calls, grad_calls, and warnflag in addition to xopt.
当然,此函数的文档使这一点远非显而易见,我首先必须查看 linked source code。从表面上看,bopt
和gopt
在设置full_output
时也包含在内,但文档未能正确解释这一点。
我正在使用一个函数 scipy.optimize.fmin_bfgs
,它有几个输出变量。我关心其中的两个,xopt 和 fopt。如何存储这些变量?以下对我不起作用:
xopt, fopt = fmin_bfgs(f, 0, fprime = fprime)
然而,这给了我 fopt
:
fopt = fmin_bfgs(f, 0, fprime = fprime)
我也需要xopt
,但是它说我"need 1 more value to unpack."
需要将full_output
设置为true,之后fopt
、func_calls
、grad_calls
、warnflag
也包含在内;您可以对返回的序列进行切片:
xopt, fopt = fmin_bfgs(f, 0, fprime = fprime, full_output=True)[:2]
参见 scipy.optimize.fmin_bfgs
documentation:
full_output
: bool, optional
If True,return fopt, func_calls, grad_calls, and warnflag in addition to xopt.
当然,此函数的文档使这一点远非显而易见,我首先必须查看 linked source code。从表面上看,bopt
和gopt
在设置full_output
时也包含在内,但文档未能正确解释这一点。