如前所述,我试图为我的神经网络实施学习率衰减。我将模型设置如下:
nn = Chain(Dense(10,5),Dense(5,1))
opt = Adam(0.01)
opt_state = setup(opt, nn)
我尝试直接从
opt_state
调整学习率。然后我发现 Optimisers.Adam
是 opt_state
中的一个不可变结构,但是如果我在 eta
中更改 opt
它工作正常。
opt_state.layers[1][:weight].rule.eta = 0.001 # ERROR: setfield!: immutable struct of type Adam cannot be changed
opt.eta = 0.001 # no error
此外,像这样访问学习率看起来不太好。是否可以在不设置新的
opt
的情况下修改opt_state
的学习率?