我正在使用scipy.optimize.fmin https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.fmin_cg.html。scipy.optimize.fmin_cg中与“优化终止成功”关联的变量?
什么是与“优化终止成功”关联的变量?
我需要它,这样我可以写这样的:
如果“优化未成功的”,然后“停for循环”
谢谢。
我正在使用scipy.optimize.fmin https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.fmin_cg.html。scipy.optimize.fmin_cg中与“优化终止成功”关联的变量?
什么是与“优化终止成功”关联的变量?
我需要它,这样我可以写这样的:
如果“优化未成功的”,然后“停for循环”
谢谢。
只需按照文档。
你有兴趣warnflag
(如在评论中提到的CEL),第5个元素返回,所以只指数 (0索引在Python!)与result[4]
结果来获得你的价值。
该文档还说,其中一些只有在用参数full_output=True
调用时才会返回,所以请执行此操作。
简单的例子:
import numpy as np
args = (2, 3, 7, 8, 9, 10) # parameter values
def f(x, *args):
u, v = x
a, b, c, d, e, f = args
return a*u**2 + b*u*v + c*v**2 + d*u + e*v + f
def gradf(x, *args):
u, v = x
a, b, c, d, e, f = args
gu = 2*a*u + b*v + d # u-component of the gradient
gv = b*u + 2*c*v + e # v-component of the gradient
return np.asarray((gu, gv))
x0 = np.asarray((0, 0)) # Initial guess.
from scipy import optimize
res1 = optimize.fmin_cg(f, x0, fprime=gradf, args=args, full_output=True) # full_output !!!
print(res1[4]) # index 4 !!!
谢谢!!! @sascha – Mencia
'warnflag'是一个很好的猜测。 – cel
我试过了,但是如果我写warnflag,说它没有定义 – Mencia
请分享这个代码,也是错误信息。 – cel