理解多維矩陣的"求和"领迈、"平均"操作確實太惡心了算吩,numpy提供的函數(shù)里還有一堆參數(shù),搞得暈頭轉(zhuǎn)向的岁钓,這里做個筆記升略,提醒一下自己, 下面是例程
import numpy as np
X = np.array([[1, 2], [4, 5], [7, 8]])
print np.mean(X, axis=0, keepdims=True)
print np.mean(X, axis=1, keepdims=True)
結(jié)果是分別是
[[ 1.5]
[[ 4. 5.]] [ 4.5]
[ 7.5]]
我個人比較raw的認識就是屡限,axis=0品嚣,那么輸出矩陣是1行,求每一列的平均(按照每一行去求平均)钧大;axis=1翰撑,輸出矩陣是1列,求每一行的平均(按照每一列去求平均)啊央。還可以這么理解眶诈,axis是幾,那就表明哪一維度被壓縮成1瓜饥。
再舉個更復雜點的例子逝撬,比如我們輸入為batch = [128, 28, 28],可以理解為batch=128乓土,圖片大小為28×28像素宪潮,我們相求這128個圖片的均值,應該這么寫
m = np.mean(batch, axis=0)
輸出結(jié)果m的shape為(28,28)趣苏,就是這128個圖片在每一個像素點平均值狡相。