微调 Torch 模型

Finetune a Torch model

我已经在 Torch 中加载了一个模型,我想对其进行微调。现在我想重新训练网络的最后 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

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