| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 코이딥
- Incremental Capacity Analysis
- Battery Management System
- 머신러닝
- AzureML
- 딥러닝
- Deep learning
- 리튬배터리
- 배터리 AI
- 배터리 열화
- Battery Deep Learning
- bms
- Machine Learning
- 머신러닝 코드
- tensorflow
- 배터리 딥러닝
- 칼만필터
- Azure
- 배터리 모델링
- 딥러닝 코드
- state of health
- eis
- Battery modeling
- 배터리 연구
- Battery AI
- 배터리 EIS
- Battery SOH
- 코드로 이해하는 딥러닝
- 배터리 진단
- 텐서플로우
- Today
- Total
Engineering insight
[pytorch 따라하기-2] Tensor 생성 및 Backward 본문
[pytorch 따라하기-2] Tensor 생성 및 Backward
Free-Nomad 2021. 7. 25. 20:16
[pytorch 따라하기-1] 구글 Colab에 pytorch 세팅하기 https://limitsinx.tistory.com/136
※이 전글에서 정리한 코드/문법은 재설명하지 않으므로, 참고부탁드립니다
※해당 글은 PC에서 보기에 최적화 되어있습니다.
이번글에서는 pytorch를 활용하여 변수(tensor)를 생성하고 Gradient Descent(경사하강법)을 다루기 전초단계인
기울기값 알아내는 방법을 정리해보겠습니다.

해당 코드는 x값이 2,3 이고, y = x.^2 ,z = x^2 + 3 일때 각각의 기울기값을 나타내는 것입니다.
import torch
x = torch.tensor(data = [2.0,3.0], requires_grad = True)
y = x**2
z = 2*y + 3
target = torch.tensor([3.0,4.0])
loss = torch.sum(torch.abs(z-target))
loss_2 = torch.abs(z-target)
loss.backward()
print('loss : ',loss)
print('loss_2 : ', loss_2)
print(x.grad, y .grad, z.grad)
결과값
x=[2,3]을 수식에 대입하면
y=[4,9]
z=[11,21] 이 되는데요, loss = z-target이기에 print out을 하게되면
[8,17]이 나오며, loss.sum = 8+17=25가 됩니다.
loss.backward() 함수를 통해 기울기(gradient)값을 연산하도록 하면,
(Z-target)에 대한 미분값 = Z' = 4x로 [8,12]를 print하게 됩니다.
여기서 중요한점이 loss.backward()부분입니다.
loss함수가 Z에 대한 함수였기에 [8,12]로 나타내지만, Y에 대한 함수였다면 y'=2x =[4,6]을 print하게 됩니다.
'DeepLearning Framework & Coding > Pytorch' 카테고리의 다른 글
| [pytorch 따라하기-6] Neural Style Transfer 구현(이미지 합성) (2) | 2021.07.26 |
|---|---|
| [pytorch 따라하기-5] 합성곱신경망(CNN) 구현 (0) | 2021.07.25 |
| [pytorch 따라하기-4] 인공신경망(ANN) 구현 (0) | 2021.07.25 |
| [pytorch 따라하기-3] 경사하강법을 통한 선형회귀 구현 (0) | 2021.07.25 |
| [pytorch 따라하기-1] 구글 Colab에 pytorch 세팅하기 (0) | 2021.07.25 |

