我已经在Torch中加载了一个模型,我想对其进行微调。现在我想重新训练网络的最后两层(虽然将来我可能想要添加图层)。我怎样才能做到这一点?我一直在寻找教程,但我还没找到我想要的东西。有什么提示吗?
答案 0 :(得分:2)
我不知道我是否明白你的要求。如果你想要离开网络,除了你要训练(或微调)的2层,你必须停止对你不想训练的那些进行反向传播,如下所示:
for i=1, x do
c = model:get(i)
c.updateGradInput = function(self, inp, out) end
c.accGradParameters = function(self,inp, out) end
end
现在只有此循环外的图层才会升级其参数。如果您想要添加新图层,请致电model:insert(module, position)
,您可以在此处查看Torch containers
如果那不是你想要的,请详细说明这个问题。