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

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

我是深度学习和 torch7 框架的新手。我已经阅读了 torch 的 nn graph 模块的文档,但是我不理解此行代码的含义:

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

= - 是什么意思?

我看过的 torch 教程使用了一种简单明确的方式来定义模型:

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

但是,我正在参考的代码使用了 = -- 运算符,我不理解这个东西;我也找不到任何定义模型的教程来解释这种方式。请帮助我理解此代码。

点赞
用户3754413
用户3754413

这是使用 nngraph 包编写模型的另一种语法。您基本上有两种选择,要么使用 __call__ 运算符(()),要么使用 __unm__(一元乘法,在表达式前放置 - 符号)和 __sub__(二元减法 -)使“您的代码看起来像数据流”。

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

2017-06-08 18:00:47