我试图理解在torch7框架中定义的深度学习模型:code
我是深度学习和torch7框架的新手。我曾尝试阅读nn graph
火炬模块的文档,但是,我不明白这一行代表什么:
local e1 = - nn.SpatialConvolution(input_nc, ngf, 4, 4, 2, 2, 1, 1)
= -
发生了什么?
我见过的火炬教程使用简单直接的方式定义模型:
...
model = nn.Sequential()
model:add(...)
...
但是,我所指的代码使用了我不理解的= -
和-
操作;我也找不到以这种方式定义模型的任何教程。请帮我理解代码。
答案 0 :(得分:2)
这是使用nngraph
包编写模型的替代语法。您基本上有两种可能性:使用__call__
运算符(()
)或使用__unm__
(一元乘法,在表达式前放置-
符号)和{{ 1}}(二进制减法__sub__
)使“您的代码看起来像数据流”。
查看-
包的文档,这可以帮助您理解语法:https://github.com/torch/nngraph#two-hidden-layers-mlp