pytorch float object has no attribute backward

一、問題描述

  編寫自己的loss 函數時, loss.backward()    在反向傳播一會後,就報錯:

'float' object has no attribute 'backward'

二、原因:

  報錯的原因是output,也就是損失函數這裏輸出了int值。但是在實驗過程中,梯度確實是下下降了。只是總是在下降過程中出現了這種報錯。

三、解決辦法:

def  my loss(input):

  loss = np.sum(input)/len(input)
  return   (torch.tensor(0.0, requires_grad=True) if loss ==0  else loss)

 

 

參考鏈接: https://blog.csdn.net/qq_21121821/article/details/104489844

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章