錯誤定位到了這裏:
def clip_gradient(optimizer, grad_clip):
for group in optimizer.param_groups:
for param in group['params']:
param.grad.data.clamp_(-grad_clip, grad_clip)
一開始看到這裏AttributeError: ‘NoneType’ object has no attribute ‘data’
一直以爲是代碼有問題。
後來發現這個是切梯度的。
是不是有些地方沒有梯度?或者不需要切這個梯度?
所以直接註釋掉這個過程。
代碼可以運行。
loss也可以下降。。
嗯。