Как да получите достъп до изходите на междинните слоеве с помощта на 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})

Не знам обаче как мога да получа достъп до резултата от втория слой и да приложа функция за загуба (критерий) и да направя backprop върху него по чист начин. Може ли някой да ми помогне с това?


person Amir    schedule 27.07.2016    source източник


Отговори (1)


трябва да посочите вашия слой като отделен изход, след което можете да получите достъп до него по всяко време

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})
person lejlot    schedule 31.07.2016