【发布时间】:2020-03-19 22:24:01
【问题描述】:
我想在每个参数的最低级别设置特定的学习率。 IE。内核权重和偏差中的每个值都应该有自己的学习率。
我可以像这样指定过滤器学习率:
optim = torch.optim.SGD([{'params': model.conv1.weight, 'lr': 0.1},], lr=0.01)
但是当我想降低一个级别时,像这样:
optim = torch.optim.SGD([{'params': model.conv1.weight[0, 0, 0, 0], 'lr': 0.1},], lr=0.01)
我收到一个错误:ValueError: can't optimize a non-leaf Tensor
我还尝试指定一个与过滤器形状相同的学习率,例如'lr': torch.ones_like(model.conv1.weight),但这也没有成功。
有没有办法使用torch.optim 做到这一点?
【问题讨论】:
标签: python deep-learning pytorch learning-rate