Jas*_*son 2 c++ numpy machine-learning linear-algebra neural-network
我用它来实现神经网络。我更喜欢NumPy,因为用Python准备数据更方便;但是,我担心 NumPy 不如 C++ 库快。
我不得不说,我认为这里的其他答案遗漏了一些东西。
首先,正如 @Mike Muller 正确指出的那样,Python 的数值库具有 C 或 Fortran(或两者)后端,因此纯 Python 的性能几乎无关紧要(与后端的性能相反,后者可能很重要)。在这方面,无论您是MKL通过 Python 还是 C++ 进行操作,都没有什么区别。
但有两点不同:
Python 的优点是——它是交互式的。这意味着,特别是与IPython Notebook等工具结合使用时,您可以执行一个操作并绘制结果,执行另一个操作并绘制结果等。使用 C++ 或 C++ 等编译语言进行探索性分析很难获得这种效果。爪哇。
对于 Python 来说,不利的一面是——至少可以说,它及其科学生态系统在处理多核方面并不完美。这是语言本身的一个基本问题(阅读 GIL )。