SciPy最小二乘求解器scipy.sparse.linalg.lsmr无效
我在使用最小二乘法求解器 scipy.sparse.linalg.lsmr 时遇到了问题,出现了以下错误:
AttributeError: 'module' object has no attribute 'lsmr'
在我的脚本开头,我有
import scipy.sparse.linalg
我当然试过在谷歌上搜索,但没有找到任何有用的信息,因为这个错误信息比较模糊。
有没有人知道该怎么解决这个问题?
谢谢!
1 个回答
0
你安装的scipy版本是什么?在你的Python库里应该有一个叫lsmr.py的文件。在Slackware 14.1系统中,我的这个文件位置是:
$ locate lsmr.py
/usr/lib64/python2.7/site-packages/scipy/sparse/linalg/isolve/lsmr.py
/usr/lib64/python2.7/site-packages/scipy/sparse/linalg/isolve/lsmr.pyc
/usr/lib64/python2.7/site-packages/scipy/sparse/linalg/isolve/tests/test_lsmr.py
如果lsmr算法更适合你的应用,你可以尝试用pip升级scipy,或者在这个链接找到一个兼容的库版本:https://github.com/scipy/scipy/blob/master/scipy/sparse/linalg/isolve/lsmr.py。我也在我的家目录里使用过anaconda的Python安装器,效果很好。