机器学习 - 如何使用 nngraph 访问中间层的输出?



在L2层之后有许多层的网络中,我需要将损失函数应用于中间层(L2)表示。我知道如何访问nngraph中的网络输出,如下所示:

input = nn.Identity()()
net = nn.Sequential()
net:add(nn.Linear(100, 20)):add(nn.ReLU(true)) -- L1
net:add(nn.Linear(20, 10)):add(ReLU(true)) -- L2
net:add(nn.Linear(10, 2)) -- L3
output = net(input)
gmod = nn.gModule({input}, {output})

然而,我不知道如何访问第二层的结果,并应用损失函数(标准),并以一种巧妙的方式对其进行反向投影。有人能帮我一下吗?

您应该将您的层指定为单独的输出,然后您可以在任何给定的时间访问它

input = nn.Identity()()
L1 = nn.ReLU(true)(nn.Linear(100, 20)(input))
L2 = nn.ReLU(true)(nn.Linear(20, 10)(L1))
L3 = nn.Linear(10, 2)(L2)
gmod = nn.gModule({input}, {L3, L2})

最新更新