美文网首页
torch中添加新层

torch中添加新层

作者: Dorts | 来源:发表于2016-09-19 15:40 被阅读150次

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

经过实践,补充了一些细节。

分两种情况:

  1. 所有运算均能通过Tensor自带的操作来完成,这样只要写一个lua文件就行,然后直接require就可以使用了,非常方便。

  2. 所有运算均能通过Tensor自带的操作来完成,这样只要写一个lua文件就行,然后直接require就可以使用了,非常方便。

对于第一种情况:

具体来说,lua文件写在哪呢,经过我自己的实验,我们首先来看torch目录树中的两个包含相似内容的路径:

  1. torch/install/share/lua/5.1/nn
  2. torch/extra/nn
    第二个路径可以看作是源代码路径,在该路径下放置新编好的.lua文件,并在该路径的 "init.lua" 文件末尾增添 require('nn.NewLayer') 语句。NB: init.lua 文件在 require('nn')语句后会自动执行。

接着执行如下命令:

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

.lua文件(包括 NewLayer.lua 和 init.lua )就会被复制(也就是安装)到第一个路径,这样才可以在终端th中使用。当然也可以直接在第一个路径中写一个新的 .lua 文件,但是这样貌似不规范(请大神解释luarocks这样设计的机制)

对于第二种情况:

具体来说,这种情况必须经过编译安装。也就是必须执行如下命令:

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

例子以后再补充。

相关文章

网友评论

      本文标题:torch中添加新层

      本文链接:https://www.haomeiwen.com/subject/twagettx.html