https://www.cnblogs.com/ronny/p/8514194.html
MXNet的NDArray与Numpy中的ndarray极为相似,NDAarray为MXNet中的各种数学计算提供了核心的数据结构,NDArray表示一个多维的、固定大小的数组,并且支持异构计算。那为什么不直接使用Numpy呢?MXNet的NDArray提供额外提供了两个好处:
支持异构计算,数据可以在CPU,GPU,以及多GPU机器的硬件环境下高效的运算
NDArray支持惰性求值,对于复杂的操作,可以在有多个计算单元的设备上自动的并行运算。
1.
import mxnet as mx
import mxnet.ndarray as nd
a = nd.ones(shape=(2,3),dtype='int32',ctx=mx.gpu(1))
print(a.shape, a.dtype, a.size, a.context)
2.
import numpy as np
l = [[1,2],[3,4]]
print(nd.array(l)) # 从List转到NDArray
print(nd.array(np.array(l))) # 从np.array转到NDArray
# 直接利用函数创建指定大小的NDArray
print (nd.zeros((3,4), dtype='float32'))
print (nd.ones((3,4), ctx=mx.gpu()))
# 从一个正态分布的随机数引擎生成了一个指定大小的NDArray,我们还可以指定分布的参数,比如均值,标准差等
print (nd.random.normal(shape=(3,4)))
print (nd.arange(18).reshape(3,2,3))
3.
a = nd.random.normal(0, 2, shape=(3,3))
print(a)
print(a.asnumpy())
4.
其他