[SciPy-User] Uninformative type error from scipy.optimize.fmin_ncg
John Salvatier
jsalvati at u.washington.edu
Fri Jan 21 16:07:49 EST 2011
Hello, I am getting a very uninformative error from scipy.optimize.fmin_ncg
(posted below).
Traceback (most recent call last):
File "C:\Program Files
(x86)\pythonxy\eclipse\plugins\org.python.pydev.debug_1.5.6.2010033101\pysrc\pydevd.py",
line 953, in <module>
debugger.run(setup['file'], None, None)
File "C:\Program Files
(x86)\pythonxy\eclipse\plugins\org.python.pydev.debug_1.5.6.2010033101\pysrc\pydevd.py",
line 780, in run
execfile(file, globals, locals) #execute the script
File "C:\Users\jsalvatier\workspace\analysis\src\residuals\run.py", line
15, in <module>
sampler.sample(nChains = 5, ndraw = 500, maxGradient = 100)
File "C:\Python26\lib\site-packages\multichain_mcmc\amala.py", line 150,
in sample
mode = scipy.optimize.fmin_ncg(logp, x0, grad_logp, disp = True)
File "C:\Python26\lib\site-packages\scipy\optimize\optimize.py", line 857,
in fmin_ncg
update = alphak * pk
TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'
As far as I can tell this originates from scipy.optimize.fmin_ncg calling
line_search_BFGS which calls line_search_armijo which calls
scalar_search_armijo which returns None if it "Failed to find a suitable
step length" . This should probably throw an error, so its clearer what went
wrong. I can open a ticket if that seems appropriate.
However, I cannot tell why it cannot find a suitable step length. Does
anyone have insight? Here is the output for the return values of the
optimizing function and the gradient function during the optimization:
x [-0.01995784 -1.31632641] value 24706.0435485
x [-0.01995784 -1.31632641] gradient [ -14.54505377 -295.74692019]
x [-0.01995762 -1.316322 ] gradient [ -14.5450301 -295.74691824]
x [-0.01995784 -1.31632641] gradient [ -14.54505377 -295.74692019]
x [-0.01997875 -1.31607352] gradient [ -14.54744088 -295.74679776]
x [-0.01995784 -1.31632641] gradient [ -14.54505377 -295.74692019]
x [ 1.29734797 649.9702011 ] value 875465.803394
x [ 0.10164492 58.80504953] value 35218.6454954
x [ 1.68521821e-02 1.68828406e+01] value 23768.2914038
x [ 1.68521821e-02 1.68828406e+01] gradient [ -13.37003274 -294.99827255]
x [ 1.68523813e-02 1.68828450e+01] gradient [ -13.37001056 -294.99827441]
x [ 1.68521821e-02 1.68828406e+01] gradient [ -13.37003274 -294.99827255]
x [ -68.71915443 -1499.71802395] value 4760337.66401
x [ 3.60983859 96.15899543] value 44345.9802857
Traceback (most recent call last):
File "C:\Program Files
(x86)\pythonxy\eclipse\plugins\org.python.pydev.debug_1.5.6.2010033101\pysrc\pydevd.py",
line 953, in <module>
debugger.run(setup['file'], None, None)
File "C:\Program Files
(x86)\pythonxy\eclipse\plugins\org.python.pydev.debug_1.5.6.2010033101\pysrc\pydevd.py",
line 780, in run
execfile(file, globals, locals) #execute the script
File "C:\Users\jsalvatier\workspace\analysis\src\residuals\run.py", line
15, in <module>
sampler.sample(nChains = 5, ndraw = 500, maxGradient = 100)
File "C:\Python26\lib\site-packages\multichain_mcmc\amala.py", line 150,
in sample
mode = scipy.optimize.fmin_ncg(logp, x0, grad_logp, disp = True)
File "C:\Python26\lib\site-packages\scipy\optimize\optimize.py", line 857,
in fmin_ncg
update = alphak * pk
TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20110121/4a96ca3e/attachment.html>
More information about the SciPy-User
mailing list