NumSharp  - Numerical .NET

NumPy是在python中处理数据的最基本和最强大的包。 若是您打算从事数据分析或机器学习项目,那么对numpy的充分理解几乎是必须的。 其余用于数据分析的软件包(如pandas)是创建在numpy之上,用于构建机器学习应用的scikit-learn软件包也在numpy上运行。 但对于.NET开发人员来讲,却没有这样的强大工具库。 虽然有像Deedle和Math.NET这样的开源库,但它们不是很容易使用,也不能借用不少现有的python代码。python

NumSharp(Numerical .NET)能够说是C#中的线性代数库。 它是用C#编写的,符合.netstandard 2.0库标准。 它的目标是让.NET开发人员使用NumPy的语法编写机器学习代码,从而最大限度地借鉴现有大量在python代码的转译成本。 NumSharp使用最新的Span技术安全高效地访问内存,优化每一个模拟API的性能,确保最底层的NDArray达到最佳性能状态。NumSharp对于在数组上执行数学和逻辑运算很是有用。 它为.NET中的n阵列和矩阵的操做提供了大量有用的功能。git

让咱们给出一个代码片断来讲明如何使用NumSharp。github

// 初始化一个NumSharp实例,类名故意叫NumPy
var np = new NumPy<int>();
// 产生一个数字0到9的向量
np.arange(10)
// 产生一个3维张量
np.arange(12).reshape(2, 3, 2);
// 产生10个0到9的随机数,并转换成5*5的矩阵
np.random.randint(low: 0, high: 10, size: new Shape(5, 5));

上面的代码是否是看起来否很是接近python代码?简直就是一模一样。NumSharp的目的就是让你能够轻松的复制粘贴Python代码。数组

如何安装:安全

PM> Install-Package NumSharp

若是您以为这个图书馆对您有帮助,请积极参与讨论。 欢迎在Github上为我点赞。 这里还有个神经网络代码,是彻底基于NumSharp编写的。网络

相关文章
相关标签/搜索