PyTorch의 require_grad는 어떻게 작동합니까?
4217 단어 programmingautogradpytorch
다음은 PyTorch가 거꾸로 계산하는 샘플입니다.
x = torch.rand(1, requires_grad=True)
y = torch.rand(1)
v = x * y
w = torch.log(v)
xGrad = w.backward() # dw/dx
우리의 출력을 가정하고 이 숫자로 넘어갑시다.
x = tensor([0.0559], requires_grad=True)
y = tensor([0.5163])
w = tensor([-3.5450], grad_fn=<LogBackward0>)
xGrad = tensor([17.8828])
이것은 PyTorch 생성 그래프입니다.
W 계산
1) 생성된 그래프에서 거꾸로 추적하여 함수를 생성합니다.
x = tensor([0.0559], requires_grad=True)
y = tensor([0.5163])
v = 0.0559 * 0.5163
= 0.02886117
w = ln(0.02886117)
= -3.5452581859176
xGrad 계산
이 부분은 derivative rules 및 chain rule에 대한 배경 지식이 필요합니다.
참조
1) https://pytorch.org/blog/computational-graphs-constructed-in-pytorch/
2)
3) https://pytorch.org/blog/overview-of-pytorch-autograd-engine/
Reference
이 문제에 관하여(PyTorch의 require_grad는 어떻게 작동합니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cm222/how-does-pytorchs-requiresgrad-works--3k4g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)