1. 程式人生 > >reduce_sum()函式和reduce_mean()函式

reduce_sum()函式和reduce_mean()函式

在計算損失時,通常會用到reduce_sum()函式來進行求和,但是在使用過程中常常會搞不清楚具體是怎樣進行計算的,通過查閱資料,逐漸搞清楚了這個函式的用法,下面就來詳細解釋一下。

在TensorFlow官方文件中有這樣的解釋:
這裡寫圖片描述

其實在reduce_sum()中,是從維度上去考慮的。其中的引數reduction_indices很容易搞蒙圈,上個圖加深理解吧。
這裡寫圖片描述

呼叫reduce_sum(arg1, arg2)時,引數arg1即為要求和的資料,arg2有兩個取值分別為0和1,通常用reduction_indices=[0]或reduction_indices=[1]來給arg2傳遞引數。從上圖可以看出,當arg2 = 0時,是縱向對矩陣求和,原來矩陣有幾列最後就得到幾個值;相似地,當arg2 = 1時,是橫向對矩陣求和,原來矩陣有幾行最後就得到幾個值;當省略arg2引數時,預設對矩陣所有元素進行求和,最後得到一個值。

看到這裡,函式名的字首為什麼是reduce_其實也就很容易理解了,reduce就是“對矩陣降維”的含義,下劃線後面的部分就是降維的方式,在reduce_sum()中就是按照求和的方式對矩陣降維。那麼其他reduce字首的函式也舉一反三了,比如reduce_mean()就是按照某個維度求平均值,等等。

--------------------- 本文來自 閃電小飛豬 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/chengshuhao1991/article/details/78545723?utm_source=copy

相關推薦

TensorFlow基礎1:reduce_sum()函式reduce_mean()函式

https://blog.csdn.net/chengshuhao1991/article/details/78545723 在計算損失時,通常會用到reduce_sum()函式來進行求和,但是在使用過程中常常會搞不清楚具體是怎樣進行計算的,通過查閱資料,逐漸搞清楚了這個函式的用法,下面就來詳細解釋一下。在

reduce_sum()函式reduce_mean()函式

在計算損失時,通常會用到reduce_sum()函式來進行求和,但是在使用過程中常常會搞不清楚具體是怎樣進行計算的,通過查閱資料,逐漸搞清楚了這個函式的用法,下面就來詳細解釋一下。 在TensorFlow官方文件中有這樣的解釋: 其實在reduce_sum()中,是從

C++11新特性——default函式deleted函式

轉自:http://blog.jobbole.com/103669/ default函式 default函式作用於類的特殊成員函式,為其自動生成預設的函式定義體,提高程式碼的執行效率。 類的特殊成員函式: 預設建構函式 解構函式 複

C語言中static修飾的函式普通函式的區別

用static修飾的函式,本限定在本原始碼檔案中,不能被本原始碼檔案以外的程式碼檔案呼叫。而普通的函式,預設是extern的,也就是說,可以被其它程式碼檔案呼叫該函式。 在函式的返回型別前加上關鍵字static,函式就被定義成為靜態函式。普通 函式的定義和宣告預設情況下是extern的,但靜

oracle_數值型別函式日期函式

數值型函式 ROUND TRUNC MOD CEIL power ROUND(列名|表示式,n) 四捨五入到小數點後的n位 idle> select round(458.734,0),round(458.734,1),round(458.734,-1) from dual; ROUND(458

【轉載】預設建構函式建構函式過載

轉載自:https://blog.csdn.net/simon_2011/article/details/78129898  作者:simon_syeming  本文主要總結了預設建構函式的相關用法和建構函式過載,旨在能夠對平時的專案開發起到一定的夯實基本功的作用,言簡意

SQL Server函式——表值函式標量函式

create table student (  sid int identity primary key,  sname varchar(20),  gender tinyint,  age int ) go insert in

箭頭函式普通函式有什麼區別

1.箭頭函式相當於匿名函式,是不能作為建構函式的,不能使用new 2.箭頭函式不繫結arguments,取而代之用rest引數…解決 3.箭頭函式會捕獲其所在上下文的this值,作為自己的this值。即箭頭函式的作用域會繼承自外圍的作用域。 4.箭頭函式當方法使用的時候沒有定

db2中left()函式right()函式對應oracle中的substr()函式

DB2  LEFT、RIGHT函式  語法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH)  LEFT、RIGHT函式返回ARG最左邊、右邊的LENGTH個字串,ARG可以是CHAR或BINARY STRING。  eg:

使用gethostname()函式gethostbyname()函式獲取主機相關資訊

gethostname():返回本地主機的標準主機名 原型如下: #include <unistd.h> int gethostname(char *name, size_t len); 引數說明: 這個函式需要兩個引數: 接收緩衝區name,其長度必須為len位元組或是更長

linux中alarm函式pause函式詳解例項

轉載原文:https://www.cnblogs.com/yxk529188712/p/4982401.html alarm(time);執行之後告訴核心,讓核心在time秒時間之後向該程序傳送一個定時訊號,然後該程序捕獲該訊號並處理; pause()函式使該程序暫停讓出CPU,但是該函式的暫停

python3基礎(七)-遞迴函式匿名函式

1、遞迴函式 函式內呼叫自己本身函式,就叫做遞迴函式。 計算一個數字的階乘n!=1*2*3*4*......*n 公式演變: n! = 1 * 2 * 3 * 4 * ...... * (n - 2) * (n - 1) * n = n * (n - 1) * (n - 2) *

函式函式判定,Jensen 不等式的理解記憶

最近看到 EM 演算法,其中的證明有用到琴生不等式,在這裡做一個筆記。 在剛開始學習凸函式和凹函式的時候,我們會被凸函式和凹函式的命名所困擾,命名看起來是凹的,一些教材上卻偏偏說它是凸函式。其實這個只是一個定義,它叫什麼,並不影響函式本身的性質。就像我在 B 站上看到有些人戲稱三國時期的

PL/SQL單行函式函式詳解

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

mysql的CONCAT函式CONCAT_WS函式

博主要做一個mysql資料庫的同key值但是多條件(欄位)模糊查詢,查閱資料發現CONCAT可以實現,將多個欄位放入CONCAT()函式體內就好,用‘,’隔開。 後來發現一個bug,輸入查詢條件,明明資料庫存在確搜尋不到任何結果!很是鬱悶,才知道CONCAT函式是將多個欄位拼接在一起,但是如果有

PHP 中 call_user_func 函式 call_user_func_array 函式

PHP 中 call_user_func() 函式 和 call_user_func_array()函式都是回撥函式 區別: call_user_func() 可以有多個引數,第一個引數為被呼叫的回撥函式,除了第一個引數外,其他引數均為被呼叫函式的引數 c

mysql常用的數學函式日期函式

數學函式     #round 四捨五入 SELECT ROUND(-1.55);  結果為:-2 SELECT ROUND(1.567,2); 結果為:1.57。後面的2為保留2位小數     #ceil 向上取整,返回>=該引數的最小整

python--- map函式lambda函式

1...lambda 函式相當於一個匿名函式,顧名思義就是不用取名字的函式,相當於現實中的匿名信。 舉例: lambda x,y: x+y m = lambda x,y,z: (x-y)*z print (m(3,1,2))  執行結果:4 2...map函式&nb

redux原理——ruduce函式compose函式

reduce()合併函式核心:每次的返回值是一個函式,再用該函式去執行下一個陣列元素(陣列元素先執行傳入引數返回) 講redux之前首先要理解一個函式-----reduce() 語法 array.reduce(function(total, currentValue, currentIn

關於回撥函式鉤子函式基礎知識的整理

回撥函式:Callback Function 什麼是回撥函式? 首先做一個形象的比喻:   你有一個任務,但是有一部分你不會做,或者說不願做,所以我來幫你做這部分,你做你其它的任務工作或者等著我的訊息,但是當我完成的時候我要通知你我做好了,你