torch中添加新層

原文:https://www.zhihu.com/question/34091628

經(jīng)過實(shí)踐,補(bǔ)充了一些細(xì)節(jié)。

分兩種情況:

  1. 所有運(yùn)算均能通過Tensor自帶的操作來完成,這樣只要寫一個(gè)lua文件就行,然后直接require就可以使用了,非常方便。

  2. 所有運(yùn)算均能通過Tensor自帶的操作來完成,這樣只要寫一個(gè)lua文件就行,然后直接require就可以使用了,非常方便。

對(duì)于第一種情況:

具體來說,lua文件寫在哪呢,經(jīng)過我自己的實(shí)驗(yàn),我們首先來看torch目錄樹中的兩個(gè)包含相似內(nèi)容的路徑:

  1. torch/install/share/lua/5.1/nn
  2. torch/extra/nn
    第二個(gè)路徑可以看作是源代碼路徑,在該路徑下放置新編好的.lua文件,并在該路徑的 "init.lua" 文件末尾增添 require('nn.NewLayer') 語(yǔ)句。NB: init.lua 文件在 require('nn')語(yǔ)句后會(huì)自動(dòng)執(zhí)行。

接著執(zhí)行如下命令:

cd torch/extra/nn/
luarocks make rocks/nn-scm-1.rockspec

.lua文件(包括 NewLayer.lua 和 init.lua )就會(huì)被復(fù)制(也就是安裝)到第一個(gè)路徑,這樣才可以在終端th中使用。當(dāng)然也可以直接在第一個(gè)路徑中寫一個(gè)新的 .lua 文件,但是這樣貌似不規(guī)范(請(qǐng)大神解釋luarocks這樣設(shè)計(jì)的機(jī)制)

對(duì)于第二種情況:

具體來說,這種情況必須經(jīng)過編譯安裝。也就是必須執(zhí)行如下命令:

cd torch/extra/nn/
luarocks make rocks/nn-scm-1.rockspec

例子以后再補(bǔ)充。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容