tensorflow 函式的含義

2021-09-28 20:55:47 字數 1535 閱讀 7676

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 ...