tf.reduce_mean()函數用於計算張量tensor沿着指定的數軸(tensor中的某一維度)上的平均值,主要用於降維或者計算tensor(圖像)的平均值。
reduce_mean(input_tensor,
axis=None,keep_dims=False,name=None,reduction_indices=None)
input_tensor:輸入的tensor
axis:指定的軸,axis=0沿列進行求均值,axis=1沿行進行求均值,若不指定,則計算所有元素的均值
keep_dims:是否將維度,默認爲False,輸出結果會降低維度;若設置爲True,輸出的結果保持輸入tensor的形狀
name:操作的名稱
import tensorflow as tf
x = [[1,2,3],[1,1,3]]
xx = tf.cast(x,tf.float32)
#tf.cast(input_data,dtype,name=None)執行的是張量的數據類型轉換
mean_all = tf.reduce_mean(xx)
mean_0 = tf.reduce_mean(xx,axis=0) #axis=0計算列方向
mean_1 = tf.reduce_mean(xx,axis=1) #axis=1計算行方向
with tf.Session() as sess:
m_a,m_0,m_1=sess.run([mean_all,mean_0,mean_1])
print(m_a)
print(m_0)
print(m_1)
1.83333
[ 1. 1.5 3. ]
[ 2. 1.66666663]
類似的函數還有:
*tf.reduce_sum:計算tensor指定軸方向上的元素的累加和
*tf.reduce_max:計算tensor指定軸方向上的元素的最大值
*tf.reduce_all:計算********元素的邏輯和(and運算)
*tf.reduce_any:計算********元素的邏輯或(or運算)