Pytorch의 백워드 진입

854 단어 Pytorch

카탈로그


코드
출력
 
제자리(in-place) 조작은 모두,variable의grad 속성은 누적된 것이기 때문에 업데이트할 때 0을 삭제해야 합니다. 예를 들어 x.grad를 사용할 수 있습니다.data.zero_()

코드

import torch
from torch.autograd import Variable

x = Variable(torch.ones(2,2),requires_grad = True)

y = x + 2
print(y)
y = y.mean()  #    
print(y)

y.backward()  #      ,   y      (x)   
print(x.grad) # d(y)/d(x)

x.grad.data.zero_()  #grad    ,         

y.backward()
print(x.grad)

출력


직접 만든variable의gradfn은 none이지만 계산된variable, 예를 들어 y,의gradfn은 none이 아닌 백워드 함수를 호출하여 사다리를 구할 수 있습니다
tensor([[3., 3.],         [3., 3.]], grad_fn=)
tensor(3., grad_fn=)
tensor([[0.2500, 0.2500],         [0.2500, 0.2500]])
tensor([[0.2500, 0.2500],         [0.2500, 0.2500]])

좋은 웹페이지 즐겨찾기