MxNet 学习笔记(1):MxNet中的NDArray

MxNet中的NDArray是核心数据结构,类似于Numpy的ndarray,但支持跨平台并行化。本文介绍了如何创建NDArray,包括通过常量、numpy数组和指定数据类型。此外,还讲解了NDArray的属性如shape、dtype和context,以及基本运算、访问、维度操作、深拷贝与浅拷贝的区别。
摘要由CSDN通过智能技术生成

NDArray

在MxNet中,NDArray是所有数学运算的核心数据结构,与Numpy中的ndarray相似。与numpy相比,MxNet中的NDArray有以下的优点:

  1. 对平台通用:在CPU GPU下都兼容
  2. 可以自动地并行化

NDArray的创建

在Mxnet中,NDArray实质上指的是mx.nd.array,并且有以下几种常用的属性:

  • ndarray.shape: The dimensions of the array. It is a tuple of integers
    indicating the length of the array along each axis. For a matrix with
    n rows and m columns, its shape will be (n, m).
  • ndarray.dtype: A numpy type object describing the type of its elements.
  • ndarray.size: the total number of components in the array - equal to the product of the components of its shape
  • ndarray.context: The device on which this array is stored, e.g. cpu() or gpu(1).
通过常量来创建:
import mxnet as mx
# create a 1-dimensional array with a python list
a = mx.nd.array([1,2,3])
# create a 2-dimensional array with a nested python list
b = mx.nd.array([[1,2
NumPy是在python处理数据的最基本和最强大的包。 如果您打算从事数据分析或机器学习项目,那么对numpy的充分理解几乎是必须的。 其他用于数据分析的软件包(如pandas)是建立在numpy之上,用于构建机器学习应用的scikit-learn软件包也在numpy上运行。 但对于.NET开发人员来说,却没有这样的强大工具库。 虽然有像Deedle和Math.NET这样的开源库,但它们不是很容易使用,也不能借用很多现有的python代码。 NumSharp(Numerical .NET)可以说是C#的线性代数库。 它是用C#编写的,符合.netstandard 2.0库标准。 它的目标是让.NET开发人员使用NumPy的语法编写机器学习代码,从而最大限度地借鉴现有大量在python代码的转译成本。 NumSharp使用最新的Span技术安全高效地访问内存,优化每个模拟API的性能,确保最底层的NDArray达到最佳性能状态。NumSharp对于在数组上执行数学和逻辑运算非常有用。 它为.NET的n阵列和矩阵的操作提供了大量有用的功能。 让我们给出一个代码片段来说明如何使用NumSharp。 // 初始化一个NumSharp实例,类名故意叫NumPy var np = new NumPy(); // 产生一个数字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   NumSharp 已被如下项目使用: Pandas.NET Bigtree.MachineLearning CherubNLP BotSharp 标签:numpy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值