在Windows上使用OpenBLAS安装numpy的教程

时间:2017-08-16 20:09:49

标签: windows numpy theano lapack openblas

拜托,我确实需要一盏灯。我想在Windows上使用一个好的BLAS / LAPACK lib 来安装numpy ,但绝对没有页面能够很好地解释这个过程。似乎OpenBLAS是一个很好的选择。

目标是使用" theano"与" keras"和" theano"要求图书馆是"动态"而不是静态的。 (不确定我理解这意味着什么,但它导致缓慢和memory issues

请把我当成一个完整的新手。给我一个一步一步教程,了解如何做到这一点!不要忘记告诉我"在哪里"文件应该去! PATH应该包含哪些文件夹!我应该调用什么命令,它们的输出是什么,在哪里?我如何处理他们的结果或编译文件? numpy怎么找到它们?等等。我所见过的所有网站似乎都认为我是Linux专家并且已经知道了一切。

我尝试了什么:

  • here下载numpy + mkl的编译版本 - 这确实安装了numpy,它变得可用,但theano提出了内存泄漏问题,除了工作缓慢。是在ldflags文件中设置正确的.theanorc吗?如果是这样,哪些是旗帜? - 关于MKL库,this answer may be useful?

  • 尝试安装Anaconda - 它也不起作用,我不知道出了什么问题。它给了我消息,建议安装一些额外的东西,它工作但非常慢。 比我上面讨论的numpy版本慢了10多倍(所以,不可接受,不可能以这种速度工作)。如果我必须改变关于Anaconda的一切,那么最好使用普通的python而不知道发生了什么。

  • 找到这些已编译的BLAS/LAPACK libraries(。dll和.lib)文件。但是...... 我该怎么办呢? - 只需将他们的文件夹添加到PATH var并安装numpy就可以给我" numpy-atlas" ,而不是我下载的库。 如何让numpy看到它们?

  • 试图理解this page,但是,它似乎会引导我完全回到前一个案例,我将如何处理结果?他们建议我使用哪些库?什么是建议的quickbuild脚本,它们在哪里?

  • 找到Cygwin选项here。我没有尝试过,但听起来它应该比重新安装我所有的python和包更容易,所有这些都来自Cygwin

4 个答案:

答案 0 :(得分:1)

SciPy的构建说明经过多次测试,似乎正在运行。

您可以在http://scipy.github.io/devdocs/building/windows.html

找到相关说明

请注意,这仍然是一个非常微妙的过程,需要非常小心地完成。由于Windows是Windows,它仍然无法保证成功。但是,如果您遇到任何问题,请花时间报告https://github.com/scipy/scipy.org/issues(注意它不是scipy回购,而是scipy.org回购)

答案 1 :(得分:1)

我不确定在尝试使用openblas& amp;时我们收到的错误是什么? numpy使用anaconda。

对于使用anaconda3 python 3.6v的windows上的openblas,这有效:

conda install -c menpo openblas

参考:https://anaconda.org/menpo/openblas

对于numpy: 它是:conda install numpy。如果您正在寻找特定版本的numpy使用:conda install numpy=version_number

答案 2 :(得分:1)

多次尝试遵循http://scipy.github.io/devdocs/building/windows.html中的建筑说明,但没有成功。

[我的解决方案]

在对日志和相关论坛进行了大量阅读之后,想出了一种方法,它已经在两台Windows机器上工作了。使用我在https://github.com/jhvital/build-scipy-openblas中使用的步骤发布批处理文件。

show_config方法显示了与openblas库的链接,这通过比较脚本的运行时与安装了conda install scipy的scipy来确认,后者安装了mkl包。

我还不完全确定这些库是否正确链接。反馈将不胜感激。

答案 3 :(得分:1)

2021 年:这适用于 Windows 10 上的 miniconda

conda create -n openblas python=3.8
conda activate openblas
conda install conda-forge::blas=*=openblas
conda install -c conda-forge numpy

也用 matplotlib-base 测试过。