!pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
# pytorch import
import torch
x = 3.5
y = x * x + 2
print(x, y)
# 토치 연산
x = torch.tensor(3.5)
print(x)
# 자동으로 기울기 계산 준비
x = torch.tensor(3.5, requires_grad=True)
print(x)
# 어떤 함수에 3.5를 넣은 값을 찾을 경우
y = (x-1) * (x-2) * (x-3)
print(y)
# 기울기를 계산하고 싶은 경우
y.backward()
x.grad
# 복잡한 노드 계산
# chain rule
a = torch.tensor(2.0, requires_grad=True)
b = torch.tensor(1.0, requires_grad=True)
x = 2*a + 3*b
y = 5*a*a + 3*b*b*b
z = 2*x + 3*y
# 계산
# work out gradients
# backward() : backward() 를 호출하면 역전파가 시작됩니다. 그 다음 Autograd가 매개변수(parameter)의 .grad 속성(attribute)에, 모델의 각 매개변수에 대한 변화도(gradient)를 계산하고 저장합니다.
z.backward()
# what is gradient at a = 2.0
a.grad
💻 출처 : 제로베이스 데이터 취업 스쿨