1. 程式人生 > >如何理解np.sum tf.reduce_sum( tf.reduce_max tf.reduce_mean)等對tensor和高維矩陣的axis選擇的操作

如何理解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去掉對應維度(就得到最後的矩陣的維度了)就能理解了







注:這篇部落格應該足夠了,附上另一篇做參考https://blog.csdn.net/GoodShot/article/details/79506812