rueki
4. Gradient Descent 본문
728x90
반응형
import torch
x = torch.tensor(2.0, requires_grad=True)
#requires_grad -> 텐서 연산 추적
y = 2*x**4 + x**3 + 3*x**2 + 5*x + 1
print(y)
# tensor(63., grad_fn=<AddBackward0>)
# y의 방정식에 2.0이 들어가서 연산된 값 출력
y.backward() #y에 대한 역전파 수행
x.grad #기울기 출력
x = torch.tensor([[1.,2.,3.],[3.,2.,1.]],requires_grad=True)
y = 3*x + 2
print(y)
'''
tensor([[ 5., 8., 11.],
[11., 8., 5.]], grad_fn=<AddBackward0>)
'''
z = 2*y**2
'''
tensor([[ 50., 128., 242.],
[242., 128., 50.]], grad_fn=<MulBackward0>)
'''
out = z.mean() #행렬 원소 평균값
# tensor(140., grad_fn=<MeanBackward0>)
out.backward()
print(x.grad)
'''
tensor([[10., 16., 22.],
[22., 16., 10.]])
'''
Pytorch에는 AutoGrad 기능이 있어 기울기 계산에 용이하다.
텐서에 requires_grad를 True로 설정하면, 텐서 연산을 추적할 수가 있다.
backward()는 역전파를 수행하며, grad를 통해 기울기를 확인할 수가 있다.
728x90
반응형
'pytorch' 카테고리의 다른 글
6. Pytorch를 이용한 ANN 구현 (0) | 2020.03.07 |
---|---|
5. pytorch를 이용한 Linear Regression (0) | 2020.03.07 |
3. 파이토치 기본 연산 (0) | 2020.03.05 |
2. 텐서 기초2 (0) | 2020.03.04 |
1. 텐서 기초 (0) | 2020.03.04 |
Comments