0
我有一個簡單的卷積神經網絡,其輸出是單通道4x4特徵映射。在訓練期間,(迴歸)損失需要僅在16個輸出中的單個值上進行計算。 該值的位置將在正向傳球后決定。如何計算來自這一個輸出的損失,同時確保back-prop期間所有不相關的梯度均爲零。火炬:在輸出子集上計算損失的反向傳播
比方說,我在火炬下面簡單的模型:
require 'nn'
-- the input
local batch_sz = 2
local x = torch.Tensor(batch_sz, 3, 100, 100):uniform(-1,1)
-- the model
local net = nn.Sequential()
net:add(nn.SpatialConvolution(3, 128, 9, 9, 9, 9, 1, 1))
net:add(nn.SpatialConvolution(128, 1, 3, 3, 3, 3, 1, 1))
net:add(nn.Squeeze(1, 3))
print(net)
-- the loss (don't know how to employ it yet)
local loss = nn.SmoothL1Criterion()
-- forward'ing x through the network would result in a 2x4x4 output
y = net:forward(x)
print(y)
我已經看過nn.SelectTable,它好像如果我轉換輸出爲表格形式,我將能夠實現我想要什麼?