我正在寻找使用的例子scipy.optimize.line_search
。我不太明白这个函数如何与多变量函数一起使用。我写了一个简单的例子
import scipy as sp
import scipy.optimize
def test_func(x):
return (x[0])**2+(x[1])**2
def test_grad(x):
return [2*x[0],2*x[1]]
sp.optimize.line_search(test_func,test_grad,[1.8,1.7],[-1.0,-1.0])
我有
File "D:\Anaconda2\lib\site-packages\scipy\optimize\linesearch.py", line 259, in phi
return f(xk + alpha * pk, *args)
TypeError: can't multiply sequence by non-int of type 'float'
您需要提交 numpy 数组而不是列表:
import numpy as np
sp.optimize.line_search(test_func,test_grad,np.array([1.8,1.7]),np.array([-1.,-1.]))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)