亚当'对象没有属性' zero_grads'

时间:2018-05-03 18:53:10

标签: lda chainer

我使用的代码不是我写的。因此,在执行此代码时,我们会收到有关zero_grads()

的不存在的错误
optimizer.zero_grads()
AttributeError: 'Adam' object has no attribute 'zero_grads'

此代码为:

import chainer.optimizers as O
optimizer = O.Adam()
optimizer.setup(model)
clip = chainer.optimizer.GradientClipping(5.0)
optimizer.add_hook(clip)
....

optimizer.zero_grads()
optimizer.update()

我应该改变:optimizer.zero_grads()

optimizer.use_cleargrads(use=True)?

请注意,即时通讯使用chainer 4.0版本和使用chainer 1.5构建的代码。

1 个答案:

答案 0 :(得分:2)

不推荐使用

优化程序的方法zero_grads,现在最好使用链接的方法cleargrads

所以我猜您应该将optimizer.zero_grads()更改为model.cleargrads()

另外,请参阅

但是,当你想用写在chainer V1.5的代码,有可能是你需要更新chainer v4的其他几个地方。尝试使用chainer v1.5执行代码以查看最初的行为可能会更好。