tensorflow中 tf.reduce_mean函數


tf.reduce_mean 函數用於計算張量tensor沿着指定的數軸(tensor的某一維度)上的的平均值,主要用作降維或者計算tensor(圖像)的平均值。

reduce_mean(input_tensor,
                axis=None,
                keep_dims=False,
                name=None,
                reduction_indices=None)

  • 第一個參數input_tensor: 輸入的待降維的tensor;
  • 第二個參數axis: 指定的軸,如果不指定,則計算所有元素的均值;
  • 第三個參數keep_dims:是否降維度,設置為True,輸出的結果保持輸入tensor的形狀,設置為False,輸出結果會降低維度;
  • 第四個參數name: 操作的名稱;
  • 第五個參數 reduction_indices:在以前版本中用來指定軸,已棄用;

以一個維度是2,形狀是[3,3]的tensor舉例:

import tensorflow as tf

x = [[1,2,3],
      [1,2,3]]

xx = tf.cast(x,tf.float32)

mean_all = tf.reduce_mean(xx, keep_dims=False)
mean_0 = tf.reduce_mean(xx, axis=0, keep_dims=False)
mean_1 = tf.reduce_mean(xx, axis=1, keep_dims=False)


with tf.Session() as sess:
    m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1])

print m_a    # output: 2.0
print m_0    # output: [ 1.  2.  3.]
print m_1    #output:  [ 2.  2.]

如果設置保持原來的張量的維度,keep_dims=True ,結果:

print m_a    # output: [[ 2.]]
print m_0    # output: [[ 1.  2.  3.]]
print m_1    #output:  [[ 2.], [ 2.]]





類似函數還有:

  • tf.reduce_sum :計算tensor指定軸方向上的所有元素的累加和;
  • tf.reduce_max  :  計算tensor指定軸方向上的各個元素的最大值;
  • tf.reduce_all :  計算tensor指定軸方向上的各個元素的邏輯和(and運算);
  • tf.reduce_any:  計算tensor指定軸方向上的各個元素的邏輯或(or運算);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM