【问题标题】:Finetune a Torch model微调 Torch 模型
【发布时间】:2016-09-24 09:30:49
【问题描述】:

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

【问题讨论】:

    标签: torch conv-neural-network


    【解决方案1】:

    我不知道我是否理解您的要求。如果你想让网络保持原样,除了你想要训练(或微调)的 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

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

    【讨论】:

    • 这确实是我问的。感谢您的回复!
    • 但它仍然不能解决容器内的层,我猜
    猜你喜欢
    • 2023-03-30
    • 2016-08-18
    • 2017-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2019-05-26
    • 2021-06-07
    相关资源
    最近更新 更多