对多维数组计算中axis的理解
以tf.reduce_mean()为例
axis参数用来指定操作轴,对于二维矩阵来说是比较好理解的,比如上面的求均值函数,axis=0为每行的对应元素求均值,axis=1为每列的对应元素求均值。但是个人感觉这样记忆一是容易记混,二是难以拓展到高维。所以想到了一种理解方式,供大家参考。
我这种理解其实就是对于上面加粗的对应元素的扩展,二维时候是axis=0是每行的第一个元素求均值、第二个元素……,axis=1是每列的第一个元素求均值,第二个元素……
扩展到多维其实也是一样,我把多维矩阵理解成一个树状图,首先还是以简单的二维矩阵为例
这样一个矩阵,其实也可以用下面的形式表示
根节点表示该矩阵,根节点下面的一行(本文中称为第一行)表示行维度的两个元素,行维度的元素可以看做是向量,每个向量又包含两个列维度的元素。这样的话,如果令axis=0,计算每行中第一个元素的均值就是下图这样: