c++ - numpy 比 eigen 这样的 c++ 线性代数库慢吗?

标签 c++ numpy machine-learning neural-network linear-algebra

我用它来实现神经网络。我更喜欢NumPy,因为用Python准备数据更方便;但是,我担心 NumPy 不如 C++ 库快。

最佳答案

NumPy 是用 C 语言实现的。因此大多数时候您只需调用 C 语言,并为某些功能优化的 Fortran 函数或子例程。因此,使用 NumPy 执行许多任务时,您将获得不错的速度。您需要矢量化您的操作。不要在 NumPy 数组上编写 for 循环。当然,手动优化的 C 代码可以更快。另一方面,NumPy 包含许多已经优化的算法,这些算法可能比经验不足的 C 程序员编写的不太优化的 C 代码更快。

您可以使用 Cython 逐渐从 Python 迁移到 C和/或使用 Numba 用于机器或 gpu 代码的 jit 编译。

关于c++ - numpy 比 eigen 这样的 c++ 线性代数库慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35015137/

相关文章:

c++ - 如何在 C++ 中精确显示 double 的小数位?

machine-learning - HDF5中文件数量小于batch时会发生什么

python-3.x - 为什么我的损失函数返回负值?

python - 检测元素是否在成对的区间限制内

machine-learning - 将数据添加到重新训练的 Inception 网络中

c++ - 将 SID 转换为字符串

c++ - cppitertools:如何结合 iter::enumerate 和 iter::filter?

c++ - 分区问题的递归函数

python - Pip 没有安装任何库

Python Scikit-凝胶电泳数据的图像处理