And Brain said,
[PyTorch] 얼렁뚱땅 파이토치 - [3] : 텐서 본문
텐서(Tensor)
파이토치의 기본 단위.
텐서를 사용하여 모델의 입력과 출력뿐만 아니라 모델의 매개변수를 부호화(encode)한다.
GPU나 다른 연산 가속을 위한 특수한 하드웨어에서 실행할 수 있다.
텐서는 NumPy의 ndarray와 매우 유사하다.
import torch
import numpy as np
x=torch.empty(5,4)
print(x)
torch.empty를 통해 크기가 5x4인 빈 텐서를 생성한다. 이때 초기화되지 않은 행렬인 경우 해당 시점에 할당된 메모리에 존재하던 값들이 초깃값으로 나타난다.
텐서 초기화
torch는 Pytorch를 사용하기 위한 기본 라이브러리다.
torch.tensor()를 통해 텐서로 변환이 가능하다.
리스트, NumPy 배열, 다른 텐서로부터 텐서를 생성할 수 있다.
텐서의 크기 타입, 연산
.size() 는 텐서의 크기를 확인할 수 있다.
x.size()는 torch.Size([5,4])로 출력된다.
텐서의 타입(type(x)) 은 torch.Tensor다.
텐서의 사칙연산, 제곱, 몫 계산 등의 기본 연산은 넘파이와 동일하다.
x=torch.rand(2,2)
y=torch.rand(2,2)
x+y
텐서의 속성
텐서의 모양, 자료형 그리고 텐서가 어느 장치에 저장되는지를 나타낸다.
print(f"Shape of tensor: {x.shape}")
print(f"Datatype of tensor: {x.dtype}")
print(f"Device tensor is stored on: {x.device}")
// Shape of tensor: torch.Size([2, 2])
// Datatype of tensor: torch.float32
// Device tensor is stored on: cpu
Tensor to NumPy array
x= torch.rand(8,8)
y=x.numpy()
type(y)
텐서 뒤에 .numpy()만 붙여주면 된다.
단일 텐서를 값으로 변환시켜주고 싶다면 .item()을 사용하면 된다.
참고
파이토치 튜토리얼
https://tutorials.pytorch.kr/beginner/blitz/tensor_tutorial.html
딥러닝을 위한 파이토치 입문 - 딥러닝호형 저
This is the way.
'IT > PyTorch' 카테고리의 다른 글
[PyTorch] 얼렁뚱땅 파이토치 - [2] : 지도 학습 (0) | 2022.10.02 |
---|---|
[PyTorch] 얼렁뚱땅 파이토치 - [1] : 파이썬 기초 (3) | 2022.10.01 |