theano installation documentation声明,theano将默认使用来自numpy BLAS库,如果这些BLAS库可作为动态加载的库可用的话。这似乎不能在我的机器上工作,请参阅错误消息。
如果numpy BLAS库不是dynamically-loadable?
,我该如何重新编译
如果您需要更多信息,请注明!
错误消息
We did not found a dynamic library into the library_dir of the library we use for blas. If you use ATLAS, make sure to compile it with dynamics library. /usr/bin/ld: cannot find -lblas
附录
theano库需要numpy和BLAS库。我想如果你在Ubuntu下用sudo apt-get install python-numpy python-scipy
安装numpy的话,numpy会附带BLAS。
这是/usr/lib64/python2.6/dist-packages/scipy/lib/blas
的文件列表
cblas.so info.py __init__.py scons_support.py setup.py
fblas.so info.pyc __init__.pyc scons_support.pyc setup.pyc
setupscons.py test
setupscons.pyc
这是distutils.__config__.show()
的输出如下
blas_info:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
lapack_info:
libraries = ['lapack']
library_dirs = ['/usr/lib64']
language = f77
atlas_threads_info:
NOT AVAILABLE
blas_opt_info:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
define_macros = [('NO_ATLAS_INFO', 1)]
atlas_blas_threads_info:
NOT AVAILABLE
lapack_opt_info:
libraries = ['lapack', 'blas']
library_dirs = ['/usr/lib64']
language = f77
define_macros = [('NO_ATLAS_INFO', 1)]
atlas_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
blas_mkl_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
mkl_info:
NOT AVAILABLE
发布于 2013-11-08 01:38:05
在下载了python库的Anaconda发行版之后,我在Ubuntu 12.04 LTS 64位上也遇到了同样的问题。将Theano指向包含libblas.so的目录可以解决这个问题。
$ THEANO_FLAGS=blas.ldflags="-L/usr/lib/ -lblas" python rbm.py
发布于 2011-09-17 01:03:19
对于ubuntu,在包管理器中,libblas.so附带了libblas3gf包。如果不知何故它没有创建libblas.so,而是创建了libblas.so.X,则手动创建一个符号链接,如下所示:
cd /usr/lib64
sudo ln -s libblas.so.3gf libblas.so
注意:这对我来说工作得很好,但请阅读下面的评论。请记住,此软件包不会针对您的特定硬件进行优化(例如,请阅读其他建议使用ATLAS的答案)。
发布于 2011-09-17 00:35:40
在您的例子中,您应该查看/usr/lib64
,看看libblas
等是否以.so
或.so.X
文件的形式提供。
重新编译BLAS并非易事,但您可以尝试为您的发行版安装相关的ATLAS包。
https://stackoverflow.com/questions/6789368
复制相似问题