파이토치 패키지 구성
구성 내용 | 설명 |
torch | 메인 네임스페이스로 텐서 등의 다양한 수학 함수가 이 패키지에 포함되어 있다. NumPy와 같은 구조를 가지고 있다. |
torch.autograd | 자동 미분을 위한 함수가 포함돼 있다. 자동 미분의 on/off를 제어하는 콘텍스트 매니저(enable_grade/no_grade)나 자체 미분 가능 함수를 정의할 때 사용하는 기반 클래스인 'Function' 등이 포함돼 있다. |
torch.nn | 신경망을 구축하기 위한 다양한 데이터 구조나 레이어 등이 정의돼 있다. 예를 들어 Convolution이나 LTSM, ReLU 등의 활성화 함수나 MSELoss 등의 손실 함수도 포함된다. |
torch.optim | 확률적 경사 하강법(SGD, Stochastic Gradient Descent)을 중심으로 한 파라미터 최적화 알고리즘이 구현돼 있다. |
torch.utils.data | SGD의 반복 연산을 실행할 때 사용하는 미니 배치용 유틸리티 함수가 포함돼 있다. |
torch.onnx | ONNX(Open Neural Network Exchange) 포맷으로 모델을 엑스포트(export)할 때 사용한다. ONNX는 서로 다른 딥러닝 프레임워크 간에 모델을 공유할 때 사용하는 새로운 포맷이다. |
https://www.youtube.com/watch?v=_4gEHlsvSZ8
자동 미분 계산
# 라이브러리 불러오기 import torch |
|
# 텐서 생성 / 변수 선언(+데이터 입력)
x = torch.ones(2,2, requires_grad=True) print(x) |
|
# 텐서 연산 / 모델 내 연산 예측값 산출 y = x+1 print(y) |
|
# 텐서 연산 / 손실함수 계산 z = 2*y**2 print(z) |
|
# 결과값 / 손실 산출 res = z.mean() print(res) |
|
# res값을 미분하여 최적화 res.backward() |
|
# x에 대한 미분값 확인 print(x.grad) |
반응형
'인공지능 > 파이토치' 카테고리의 다른 글
파이토치 무작정 시작하기 6 - 모델 변수 프리징 (0) | 2020.07.17 |
---|---|
파이토치 무작정 시작하기 5 - GPU를 사용한 전이 학습 (colab 사용) (0) | 2020.07.16 |
파이토치 무작정 시작하기 4 - CNN 기본 모델 구축 (0) | 2020.07.16 |
파이토치 무작정 시작하기 3 - 데이터 불러오기 (0) | 2020.07.14 |
파이토치 무작정 시작하기 1 - 파이토치 / 텐서 (0) | 2020.07.07 |