好消息!C++程序员也能用上NumPy了

好消息!C++程序员也能用上NumPy了

原创 量子位 2019-02-24 13:24:15

晓查 发自 凹非寺

量子位 出品 | 公众号 QbitAI

好消息!C++程序员也能用上NumPy了

假如你很“不幸”是一名从事机器学习开发的C++程序员,一定很羡慕Python,因为很多热门的软件包都是专门为Python开发。C++程序员只能看着眼馋,甚至包括最热门的NumPy也无法使用。

最近有个网友为广大C++程序员解决了一大痛点:

好消息!C++程序员也能用上NumPy了

这就是C++版本的NumPy,名为NumCpp,是一位叫David Pilger的程序员开发的。从此用#include也能导入头文件,就像Python程序员用import一样容易。

二者除了语法上的差异,调用函数的名称也几乎一致。就算有什么不懂,你也可以去David的说明文档页查找具体用法。

以最基础的数组定义和初始化为例,NumCpp可以直接定义数组、改变数组形状、转换变量类型、生成对角矩阵等等。

好消息!C++程序员也能用上NumPy了

从上图可以看出,NumPy和NumCpp调用的函数名称几乎完全一致,除了在定义数据类型上有一些差别。需要注意的是NumpCpp中的创建一个数组调用的是NdArray,而Python上用的是array

如果需要更详细的了解两种工具包的差异。可以去下面的命名空间数据结构索引中查看。

命名空间列表按照功能分类,命名空间成员则按照名称排序。数据结构也与之类似。

好消息!C++程序员也能用上NumPy了

所有的头文件也汇总在这份文档中:

好消息!C++程序员也能用上NumPy了

最后David给出了一段编程示例,调用了NumPy常用的函数,你也可以通过这段简短的程序大致了解NumCpp的基本用法。

【Example】

GitHub项目页:

https://github.com/dpilger26/NumCpp

完整版说明文档:

https://dpilger26.github.io/NumCpp

版权所有,未经授权不得以任何形式转载及使用,违者必究。