首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确保numpy BLAS库可以作为可动态加载的库?

如何确保numpy BLAS库可以作为可动态加载的库?
EN

Stack Overflow用户
提问于 2011-07-22 19:33:55
回答 5查看 25.9K关注 0票数 24

theano installation documentation声明,theano将默认使用来自numpy BLAS库,如果这些BLAS库可作为动态加载的库可用的话。这似乎不能在我的机器上工作,请参阅错误消息。

如果numpy BLAS库不是dynamically-loadable?

  • How的,我该如何找出它们是否可用为dynamically-loadable?

,我该如何重新编译

  • BLAS库

如果您需要更多信息,请注明!

错误消息

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的文件列表

代码语言:javascript
复制
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()的输出如下

代码语言:javascript
复制
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
EN

回答 5

Stack Overflow用户

发布于 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

票数 14
EN

Stack Overflow用户

发布于 2011-09-17 01:03:19

对于ubuntu,在包管理器中,libblas.so附带了libblas3gf包。如果不知何故它没有创建libblas.so,而是创建了libblas.so.X,则手动创建一个符号链接,如下所示:

代码语言:javascript
复制
cd /usr/lib64
sudo ln -s libblas.so.3gf libblas.so

注意:这对我来说工作得很好,但请阅读下面的评论。请记住,此软件包不会针对您的特定硬件进行优化(例如,请阅读其他建议使用ATLAS的答案)。

票数 3
EN

Stack Overflow用户

发布于 2011-09-17 00:35:40

在您的例子中,您应该查看/usr/lib64,看看libblas等是否以.so.so.X文件的形式提供。

重新编译BLAS并非易事,但您可以尝试为您的发行版安装相关的ATLAS包。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6789368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档