如何理解np.sum tf.reduce_sum( tf.reduce_max tf.reduce_mean)等对tensor和高维矩阵的axis选择的操作

一个不是很简单,但是很好理解的方法是:你的输入矩阵的shape是(2,2,4),那么当axis=0时,就是在第一个dimension上进行求和,最后得到的结果的shape就是去掉第一个dimension后的shape,也就是(2,4)。具体的计算方法则是,对于c[i,j,k],假设输出矩阵为s[j,k],第一个dimension求和那么就是
s[j,k]=∑i(c[i,j,k])
如果axis=1,那么输出shape就是去掉第二个dim,也就是(2,4),计算是 s[i,k]=sumj(c[i,j,k])
如果axis=2,那么输出shape就是去掉第三个dim,也就是(2,2),计算是 s[i,j]=sumk(c[i,j,k])
在数据处理里面经常会碰到高维数据,通过二维矩阵去想它的计算方法就很难了,这个时候只要按axis对应的维度求和,其他维度的位置和形状不变,最后把shape去掉对应维度(就得到最后的矩阵的维度了)就能理解了


如何理解np.sum tf.reduce_sum( tf.reduce_max tf.reduce_mean)等对tensor和高维矩阵的axis选择的操作_第1张图片

如何理解np.sum tf.reduce_sum( tf.reduce_max tf.reduce_mean)等对tensor和高维矩阵的axis选择的操作_第2张图片



如何理解np.sum tf.reduce_sum( tf.reduce_max tf.reduce_mean)等对tensor和高维矩阵的axis选择的操作_第3张图片


如何理解np.sum tf.reduce_sum( tf.reduce_max tf.reduce_mean)等对tensor和高维矩阵的axis选择的操作_第4张图片


注:这篇博客应该足够了,附上另一篇做参考https://blog.csdn.net/GoodShot/article/details/79506812

你可能感兴趣的:(python)