x_mean = tf.reduce_mean(input, axis=(1, 2), keepdims=true)
reduce_mean(input_tensor,
axis=none,
keep_dims=false,
name=none,
reduction_indices=none)
第乙個引數input_tensor: 輸入的待降維的tensor;
第二個引數axis: 指定的軸,如果不指定,則計算所有維度的均值;如果提供引數,引數值必須在[-rank(input_tensor),rank(input_tensor)之間,比如是乙個二維的矩陣,則引數值就是從[-2,2]
第三個引數keep_dims:是否降維度,設定為true,輸出的結果保持輸入tensor的形狀,設定為false,輸出結果會比之前的引數降低1個維度;
第四個引數name: 操作的名稱;是乙個可選的引數
第五個引數 reduction_indices:在以前版本中用來指定軸,已棄用;
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) 行和列都同時進行執行(1+1+2+2+3+3)/6=2
mean_0 = tf.reduce_mean(xx, axis=0, keep_dims=false) 列即矩陣的高進行運算(1+1)/2=1,(2+2)/2=2,(3+3)/2=3
mean_1 = tf.reduce_mean(xx, axis=1, keep_dims=false) 行即矩陣的寬進行運算(1+2+3)/3=2,(1+2+3)/3=2
with tf.session() as sess:
m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1])
由於 keep_dims=false,所以原先由二維矩陣變為一維向量
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中的函式
執行當前tensor的run 操作 a tf.variable tf.ones 10 with tf.session as sess tf.global variables initializer run b sess.run a 1 b a eval 2 print b 中的 1 2 行的功能一樣...
TensorFlow 常用的函式
gettf.shape a 和a.get shape 比較 相同 都可以得到 tensor a 的尺寸不同 tf.shape 中a 資料的型別可以是 tensor,list,array 返回的是乙個 tensor 時。要想知道是多少,必須通過 sess.run tensor.get shape 返回...
tensorflow常用函式
1.variable 主要在於一些可訓練變數 trainable variables 比如模型的權重 weights 或者偏執值 bias 1 宣告時,必須提供初始值 2 在真實訓練時,其值是會改變的,自然事先需要指定初始值 weights tf.variable tf.random normal ...