代码之家  ›  专栏  ›  技术社区  ›  MBT Nina Golyandina

如何在Pytorch中应用分层学习率?

  •  9
  • MBT Nina Golyandina  · 技术社区  · 7 年前

    例如,第一层的学习率非常低,为0.000001,然后逐渐提高下面每一层的学习率。最后一层的学习率是0.01左右。

    在Pythorch有可能吗?你知道我该怎么存档吗?

    1 回复  |  直到 7 年前
        1
  •  28
  •   Salih Karagoz    5 年前

    以下是解决方案:

    from torch.optim import Adam
    
    model = Net()
    
    optim = Adam(
        [
            {"params": model.fc.parameters(), "lr": 1e-3},
            {"params": model.agroupoflayer.parameters()},
            {"params": model.lastlayer.parameters(), "lr": 4e-2},
        ],
        lr=5e-4,
    )
    

    未在优化器中指定的其他参数将不会优化。因此,您应该声明所有层或组(或要优化的层)。 诀窍在于,当你创建模型时,你应该给图层命名,或者你可以对它进行分组。