1. 程式人生 > >tensorflow中的reduce_xx系列函式

tensorflow中的reduce_xx系列函式

所謂reduce就是降維的意思,

我們以reduce_sum函式為例

呼叫reduce_sum(arg1, arg2)時,引數arg1即為要求和的資料,arg2有兩個取值分別為0和1,通常用reduction_indices=[0]reduction_indices=[1]來傳遞引數。

 

這裡寫圖片描述

從上圖可以看出,當arg2(reduction_indices) = 0時,是縱向對矩陣求和(對行求和),原來矩陣有幾列就得到幾個值;相似地,當arg2(reduction_indices) = 1時,是橫向對矩陣求和(對列求和);當省略arg2引數時,預設對矩陣所有元素進行求和。

此外,reduction_indices=(0,1)意思是先在行上求和降維,然後在列上求和降維。

 

看到這裡,函式名的字首為什麼是reduce_其實也就很容易理解了,reduce就是“對矩陣降維”的含義,下劃線後面的部分就是降維的方式,在reduce_sum()中就是按照求和的方式對矩陣降維。那麼其他reduce字首的函式也舉一反三了,比如reduce_mean()就是按照某個維度求平均值,等等。