Finetune是一个火炬模型

时间:2016-05-26 11:38:26

标签: torch conv-neural-network

我已经在Torch中加载了一个模型,我想对其进行微调。现在我想重新训练网络的最后两层(虽然将来我可能想要添加图层)。我怎样才能做到这一点?我一直在寻找教程,但我还没找到我想要的东西。有什么提示吗?

1 个答案:

答案 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

如果那不是你想要的,请详细说明这个问题。