張量不同數軸的平均值計算

2022-04-22 20:44:12 字數 2240 閱讀 8138

在深度學習裡研究的物體的關係,都是比較複雜的。比如乙個32x32大小的,它的畫素資訊就有1024個點,如果考慮rgb三種顏色,就是1024x3了。對於目前還沒有辦法構造140億個神經元的計算機來說,只能幹一件事情,就是簡化,化繁為簡。為了簡化,就需要使用演算法來進行,在數學上最簡單的處理,就是求平均值。這個道理非常簡單,如果10個數,只要把它們相加,再除以10即可。對於0維數字,可以這樣來計算,如果對於n維的張量,就不是這麼簡單的計算了。就拿二維的矩陣來說,它可以橫著算,還可以是豎著算,還可以全部加到一起,再除以總數。可見對於n維的張量來說,有更多的可能,那麼就得抽像乙個數軸出來。數軸在初中的代數就學習了,可見數軸在高等數學裡也會使用到的,n維張量,就是n個數軸的表示,如果沿著不同的數軸進行計算,就會產生不同的作用。其實平均值也可以算是降維思想的一種。

在tf裡,就提供了這樣乙個演算法來計算張量的平均值:

沿著張量不同的數軸進行計算平均值。

input_tensor: 被計算的張量,確保為數字型別。

axis: 方向數軸,如果沒有指明,預設是所有數軸都減小為1。

keep_dims: 如果定義true, 則保留維數,但數量個數為0.

name: 操作過程的名稱。

reduction_indices: 為了舊函式相容的數軸。

返回值:

降低維數的平均值。

import tensorflow as tf

#建立張量

x = tf.variable([[1., 2., 3.], [4., 5., 6.], [7., 8., 9

.]]);

#顯示init =tf.global_variables_initializer();

with tf.session() as sess:

sess.run(init);

#tf.reduce_mean(input_tensor, axis=none, keep_dims=false, name=none, reduction_indices=none)

y =tf.reduce_mean(x);

y01 = tf.reduce_mean(x, axis=0, keep_dims=false);

y02 = tf.reduce_mean(x, axis=0, keep_dims=true);

y1 = tf.reduce_mean(x, axis=1

);

print(

"x =

", x.eval());

print(

"tf.reduce_mean(x) =

", y.eval());

print(

"tf.reduce_mean(x, axis=0, keep_dims=false) =

", y01.eval());

print(

"tf.reduce_mean(x, axis=0, keep_dims=true) =

", y02.eval())

print(

"tf.reduce_mean(x, axis=1) =

", y1.eval());

執行結果:

('

x =

', array([[ 1., 2., 3

.], [

4., 5., 6

.], [

7., 8., 9.]], dtype=float32))('

tf.reduce_mean(x) =

', 5.0)(

'tf.reduce_mean(x, axis=0, keep_dims=false) =

', array([ 4., 5., 6.], dtype=float32))('

tf.reduce_mean(x, axis=0, keep_dims=true) =

', array([[ 4., 5., 6.]], dtype=float32))('

tf.reduce_mean(x, axis=1) =

', array([ 2., 5., 8.], dtype=float32))

總結:

tf.reduce_mean(x)表示計算全域性平均值;

tf.reduce_mean(x, axis=0)表示計算y軸平均值;
tf.reduce_mean(x, axis=1)表示計算x軸平均值;

php 平均值,PHP 根據日期值計算平均值

我有乙個帶有日期和評分的陣列.摘錄如下 array 111 0 array 2 date string 19 2018 03 03 17 15 42 rating int 3 1 array 2 date string 19 2018 02 24 09 56 03 rating int 1 2 ar...

分組統計(平均值計算)

1.以樣地號分組求值,cast as.指轉換型別 decimal 指保留小數點 select 樣地號,cast sum 平均樹高 斷面積 樣地活株數 sum 斷面積 樣地活株數 as decimal 4,2 as 平均樹高 from sheet2 group by 樣地號 2.case.when.t...

平均值法計算定積分

include cstdio include time.h using namespace std const unsigned long maxshort 65536l const unsigned long multiplier 1194211693l const unsigned long a...