(原)torch7中添加新的层

时间:2023-03-08 17:40:45

转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/6069627.html

参考网址:

http://torch.ch/docs/developer-docs.html

https://www.zhihu.com/question/34091628?sort=created

1. 结合Inception文件,新建InceptionX.lua,并将Inception内容复制到InceptionX.lua中。

2. 在dpnn的文件夹(如/home/XXX/torch/install/share/lua/5.1/dpnn)内的init.lua中,添加

require('dpnn.InceptionX')

使用的时候:

require”dpnn”
local net = nn.Sequential()
net:add(nn.InceptionHisign{
inputSize = ,
kernelSize = {, },
kernelStride = {, },
outputSize = {, },
reduceSize = {, , , },
pool = nn.SpatialMaxPooling(, , , , , ),
batchNorm = true
}) print(net)

可以正常使用:

(原)torch7中添加新的层

说明:1. 本帖只是在torch的dpnn中添加新层的简单的例子,按照自己的要求修改InceptionX.lua即可。

2. 第2步是必不可少的,否则无法找到自己添加的层。

3. 一般来说,自己添加的InceptionX.lua中,只需要修改__init、updateOutput、updateGradInput、accGradParameters、reset这几个函数就可以了(这个地方目前不是很确定,因为只修改了__init函数)。

4. 更详细的介绍,可以见两个参考网址。有关于在lua level添加层,和在c level添加层的具体介绍。

相关文章