| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 배터리 연구
- 배터리 열화
- 딥러닝
- 딥러닝 코드
- Incremental Capacity Analysis
- Machine Learning
- 배터리 모델링
- AzureML
- bms
- Battery modeling
- eis
- 배터리 AI
- 리튬배터리
- 배터리 EIS
- Deep learning
- 머신러닝 코드
- 코이딥
- 칼만필터
- 코드로 이해하는 딥러닝
- tensorflow
- 배터리 딥러닝
- Battery AI
- 머신러닝
- state of health
- Azure
- 배터리 진단
- Battery Management System
- Battery Deep Learning
- 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 |
