为什么他们在火炬训练前克隆整个模型?

时间:2017-06-27 16:30:51

标签: lua neural-network torch

我最近经历过很多火炬代码。我一直注意到,通常在构建模型之后,它被克隆,如下面的代码所示:

InternalViewResolver

prefix是一个构建的模型。

很难理解为什么要这样做?

此代码用于在网络上执行微调。来自this存储库(第122行到第126行)。

1 个答案:

答案 0 :(得分:1)

当您克隆模型并指定一些其他参数(如'weight等)时,新模型将与原始模型共享这些参数。因此,在您的情况下,模型siamese_1siamese_2会分享它们的权重,偏差和相应的渐变。

在您看到的代码中,作者希望创建一个网络,其中两个并行网络共享其权重,这就是他们使用clone函数的原因。