1. 程式人生 > 程式設計 >tensorflow中tf.reduce_mean函式的使用

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,形狀是[2,3]的tensor舉例:

import tensorflow as tf
 
x = [[1,2,3],[1,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運算);

到此這篇關於tensorflow中tf.reduce_mean函式的使用的文章就介紹到這了,更多相關tensorflow tf.reduce_mean內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!