pytorch之object.grad.zero_()
生活随笔
收集整理的這篇文章主要介紹了
pytorch之object.grad.zero_()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- object.grad.zero_()的意思是清0object的梯度值。
下面做個實驗。
- 在默認情況下,PyTorch會累積梯度,我們需要清除之前的值,假如不清0會出現什么現象,看下面的實驗。
-
那么上面這個錯誤結果是怎么來的呢?
PyTorch會累積梯度,tensor([ 0., 8., 16., 24., 32.]) = tensor([ 0., 4., 8., 12., 16.]) + tensor([ 0., 4., 8., 12., 16.])得到的結果; -
所以下面這段代碼的意思是迭代param時不需要構建計算圖,并且迭代完成后就把param.grad清0,因為再一次調用sgd時就是下一個batch得到的param.grad,batch和batch是沒有關系的。
參考資料
總結
以上是生活随笔為你收集整理的pytorch之object.grad.zero_()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器主板装w7系统死机,解决win7安
- 下一篇: 仿二手商城模板html,仿转转商城APP