pytorch損失反向傳播後梯度為none
阿新 • • 發佈:2021-02-02
技術標籤:pytorch
錯誤程式碼:輸出grad為none
a = torch.ones((2, 2), requires_grad=True).to(device)
b = a.sum()
b.backward()
print(a.grad)
由於.to(device)是一次操作,此時的a已經不是葉子節點了
修改後的程式碼為:
a = torch.ones((2, 2), requires_grad=True)
c = a.to(device)
b = c.sum()
b.backward()
print(a.grad)
類似錯誤:
self.miu = torch.nn. Parameter(torch.ones(self.dimensional)) * 0.01
應該為
self.miu = torch.nn.Parameter(torch.ones(self.dimensional) * 0.01)