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)?的主要内容,如果未能解决你的问题,请参考以下文章

LINUX系统,UBUNTU和CENTOS哪个更好一些?

为啥 Mongodb 在 Linux 上的性能比在 Windows 上更好?

anaconda3安装sklearn

机器学习算法的随机数据生成

Python 3 pip 包安装在 Windows 上的 Ubuntu 上,出现 Errno 22 失败

Pandas+Numpy+Sklearn随机取数