파이토치(Pytorch)란?
- Python 기반의 과학 연산 패키지
- NumPy를 대체하면서 GPU를 이용한 연산이 필요한 경우 사용
- 최대한의 유연성과 속도를 제공하는 딥러닝 연구 플랫폼이 필요한 경우 사용
파이토치의 장점
- 텐서플로보다 간결해서 쉽게 사용할 수 있다.
- 학습 및 추론 속도가 빠르고 다루기 쉽다.
- Define-by-Run 프레임워크
- 많은 논문들이 파이토치로 구현
https://www.youtube.com/watch?v=6SF_qAd99Yg
텐서 (Tensor)
- 파이토치의 기본 단위
- 다차원 배열을 처리하기 위한 데이터 구조
- Numpy의 ndarray와 거의 같은 API를 지니고 있다.
- GPU를 사용한 계산도 지원한다.
- 어떤 데이터 형의 텐서이건 torch.tensor라는 함수로 작성할 수 있다.
# 라이브러리 불러오기 import torch |
|
# 빈 텐서 생성 x = torch.empty(5,4) print(x) |
|
# 1로 구성한 텐서 생성 torch.ones(3,3) |
|
# 0으로 구성한 텐서 생성 torch.zeros(2) |
|
# 랜덤한 값으로 구성한 텐서 생성 torch.rand(5,6) |
|
# 리스트나 nparray를 텐서로 변환
l = [13,4] r = np.array([4,56,7])
torch.tensor(l) torch.tensor(r) |
|
# 텐서 사이즈 확인 x.size() |
|
# 텐서 타입 확인 type(x) |
|
# 텐서의 연산 x = torch.rand(2,2)
x+y torch.add(x,y) y.add(x) |
|
# inplace방식으로 계산 y.add_(x) print(y) |
|
# 텐서 인덱싱 y[1,1] |
|
# 텐서 슬라이싱 y[:,1] |
|
# 텐서의 사이즈 바꾸기 x = torch.rand(8,8) x.view(64) x.view(4,16) |
|
# -1로 고정값을 정했을때 나머지를 자동으로 변환 x.view(-1,16) x.view(-1,4,4) |
|
# 텐서를 ndarray로 변환 y = x.numpy() print(y) print(type(y)) |
|
# 원소가 한 개일때 원소의 값만 뽑아내고 싶을때 x = torch.ones(1) x.item() |
반응형
'인공지능 > 파이토치' 카테고리의 다른 글
파이토치 무작정 시작하기 6 - 모델 변수 프리징 (0) | 2020.07.17 |
---|---|
파이토치 무작정 시작하기 5 - GPU를 사용한 전이 학습 (colab 사용) (0) | 2020.07.16 |
파이토치 무작정 시작하기 4 - CNN 기본 모델 구축 (0) | 2020.07.16 |
파이토치 무작정 시작하기 3 - 데이터 불러오기 (0) | 2020.07.14 |
파이토치 무작정 시작하기 2 - 패키지 구성 / 자동 미분 계산 (0) | 2020.07.09 |