
파이토치(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 | 














