Ubuntu 上的 NumPy/Scikit,更好地从预编译源构建(例如 Anaconda)?
Posted
技术标签:
【中文标题】Ubuntu 上的 NumPy/Scikit,更好地从预编译源构建(例如 Anaconda)?【英文标题】:NumPy/Scikit on Ubuntu, better built from source of precompiled (e.g. Anaconda)? 【发布时间】:2016-08-04 06:53:39 【问题描述】:不同的文档提供了相互矛盾的信息,是使用 pip 安装 NumPy(根据我的经验,在 Ubuntu 上 pip install numpy
总是从源代码构建 NumPy)还是使用编译的发行版,例如 Anaconda2
。
网站SciPy.org - Building From Source on Linux 声明:
(...) 如果您想使用对 NumPy 和 SciPy 所做的最后改进 在 Linux 上,您必须从源代码构建它。
Scikit-learn.org - Installing scikit-learn 解释道:
我们不建议在 linux 上使用 pip 安装 scipy 或 numpy,因为 这将涉及具有许多依赖项的冗长构建过程。 如果没有仔细配置,自己构建 numpy 可能会导致 安装速度比应有的要慢得多。
在Ubuntu 14.04
上运行时,哪种方式对处理大数据和机器学习的程序的性能更好?
【问题讨论】:
如果您投了反对票,我将不胜感激简短的评论,解释我如何提高这个 SO 问题的质量或下次要避免什么。谢谢!Which way is better for performance of programs
- 如果您知道自己在做什么,那么自己编译总是至少与二进制版本一样好。不过,像你我这样的普通用户通常并不关心额外的微小性能百分比。
【参考方案1】:
论文Lund et al., Doubling the Performance of Python/NumPy with less than 100 SLOC 描述了对代码和 gcc/内核环境的微小更改如何为 NumPy 性能带来重大改进。因此,我想用结论来结束这个问题:
尽可能使用 NumPy/Scipy 库的编译发行版 如果您别无选择,或者因为知道自己在做什么而想要自定义构建参数,请编译 NumPy/Scipy欢迎讨论这个问题,所以我可以改变我的答案
【讨论】:
以上是关于Ubuntu 上的 NumPy/Scikit,更好地从预编译源构建(例如 Anaconda)?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Mongodb 在 Linux 上的性能比在 Windows 上更好?