深度学习入门12-多维数组的运算
图片来源:搜狐
大家好!在上一篇文章中,我们学习sigmoid函数的实现和新的激活函数ReLU,为了更加高效地实现神经网络,我们将学习NumPy多维数组的运算。
1 多维数组
简单地讲,多维数组就是“数字的集合”。如下图所示,单个数据元素可以称为标量,数字排成一列的集合可以称为一位数组,排成长方形的集合称为二维数组,排成三维状的集合称为三维数组,或者(更加一般化的)N维状的集合都称为多维数组。
下面我们就用NumPy来生成多维数组,先从前面介绍过的一维数组开始。
In[2]: import numpy as np
In[3]: A = np.array([1, 2, 3, 4])
In[4]: print(A)
[1 2 3 4]
In[5]: np.ndim(A)
Out[5]: 1
In[6]: A.shape
Out[6]: (4,)
In[7]: A.shape[0]
Out[7]: 4
如上述代码所示,数组的维数可以通过numpy.dim()方法获得。使用numpyArray.shape方法可以获得数组的形状。我们的代码中,A是一维数组,由4个元素构成。注意A.shape的结果是一个元组(tuple) ,这是因为形状是4x3二维数组返回的是元组(4,3),形状是4x3x2的三维数组返回的是(4,3,2),因此,一维数组的情况下也要返回和多维数组的情况下一致的结果。例如,下面代码所示:
In[3]: B = np.array([[1, 2], [3, 4], [5, 6]])
In[4]: print(B)
[[1 2]
[3 4]
[5 6]]
In[5]: np.ndim(B)
Out[5]: 2
In[6]: B