了解在torch7深度学习框架中定义的模型

时间:2017-06-08 16:12:11

标签: lua deep-learning torch

我试图理解在torch7框架中定义的深度学习模型:code

我是深度学习和torch7框架的新手。我曾尝试阅读nn graph火炬模块的文档,但是,我不明白这一行代表什么:

local e1 = - nn.SpatialConvolution(input_nc, ngf, 4, 4, 2, 2, 1, 1)

= -发生了什么?

我见过的火炬教程使用简单直接的方式定义模型:

...
model = nn.Sequential()
model:add(...)
...

但是,我所指的代码使用了我不理解的= --操作;我也找不到以这种方式定义模型的任何教程。请帮我理解代码。

1 个答案:

答案 0 :(得分:2)

这是使用nngraph包编写模型的替代语法。您基本上有两种可能性:使用__call__运算符(())或使用__unm__(一元乘法,在表达式前放置-符号)和{{ 1}}(二进制减法__sub__)使“您的代码看起来像数据流”。

查看-包的文档,这可以帮助您理解语法:https://github.com/torch/nngraph#two-hidden-layers-mlp