我使用的代码不是我写的。因此,在执行此代码时,我们会收到有关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构建的代码。
答案 0 :(得分:2)
优化程序的方法zero_grads
,现在最好使用链接的方法cleargrads
。
所以我猜您应该将optimizer.zero_grads()
更改为model.cleargrads()
另外,请参阅
但是,当你想用写在chainer V1.5的代码,有可能是你需要更新chainer v4的其他几个地方。尝试使用chainer v1.5执行代码以查看最初的行为可能会更好。