numpy中array轴线和TensorFlow中tensor的axis

在numpy中,array为多维向量,维度 (dimension) 也被称之为轴线(axes),当维度是2的时候就是个二维矩阵,但是我们经常会搞不清哪个是第一维,哪个是第二维,在numpy中,他的轴线是从最外层到最里层看的。比如a = np.array([[1, 2, 3], [4, 5, 6]]),直接打印出来看到的是一个2行3列的矩阵,如下图

numpy中array轴线和TensorFlow中tensor的axis

那么他的最后一个轴线是在控制台横着打印出来的,就是相当于最里层一维,比如当有三维的时候,

numpy中array轴线和TensorFlow中tensor的axis

发现打印出横着的一排是最里面的一维,axis=2(因为轴线是从0开始的,本例子轴线分别为0,1,2,所以第三个为2),他的第一个轴线为三层的矩阵哪个,若用a.sum()分别在轴线上求和就会得到下面的结果

numpy中array轴线和TensorFlow中tensor的axis

可以发现当沿着第0个轴线求和的时候,会把最外层的去掉,这时就是每个2*2的小矩阵相加,当沿着第1个轴线求和的时候,会把第第二个维度去掉每一个2*2的小矩阵沿着行(即每一列只有一个值,这个值就是当前列的所有行的值相加)的方向相加,当沿着最后一个轴线求和的时候,这时候就是最里面那一维了,也就是沿着列相加,即一行中每个元素相加。

    在TensorFlow中,用多维张量(tensor)表示,里面的轴线也是这个意思。