Function與Module的差異與應用場景

2021-10-08 03:17:12 字數 481 閱讀 3712

function與module都可以對pytorch進行自定義拓展,使其滿足網路的需求,但這兩者還是有十分重要的不同:

function一般只定義乙個操作,因為其無法儲存引數,因此適用於啟用函式、pooling等操作;module是儲存了引數,因此適合於定義一層,如線性層,卷積層,也適用於定義乙個網路

function需要定義三個方法:__init__, forward, backward(需要自己寫求導公式);module:只需定義__init__和forward,而backward的計算由自動求導機制構成

可以不嚴謹的認為,module是由一系列function組成,因此其在forward的過程中,function和variable組成了計算圖,在backward時,只需呼叫function的backward就得到結果,因此module不需要再定義backward。

module不僅包括了function,還包括了對應的引數,以及其他函式與變數,這是function所不具備的

Function與Module的差異與應用場景

function與module都可以對pytorch進行自定義拓展,使其滿足網路的需求,但這兩者還是有十分重要的不同 function一般只定義乙個操作,因為其無法儲存引數,因此適用於啟用函式 pooling等操作 module是儲存了引數,因此適合於定義一層,如線性層,卷積層,也適用於定義乙個網路...

驅動與執行module

驅動與執行module 一 驅動是什麼?驅動提供的是機制而非策略。二 可載入模組 ko 每個模組由目標 組成 沒有連線成乙個完整可執行檔案 可以動態連線到執行中的核心中,通過 insmod 程式,以及通過 rmmod 程式去連線。三 建立模組 在建立模組中,呼叫的函式必須是核心自帶函式。module...

function 與 的區別

在js中,箭頭函式並不是簡單的function 匿名函式的簡寫語法糖,實際上,箭頭函式和匿名函式有個明顯的區別 箭頭函式內部的this是詞法作用域,在編寫函式時就已經確定了。而匿名函式的this指向執行時實際呼叫該方法的物件,無法在編寫函式時確定。我們看一下下面的例子 function test 5...