728x90
반응형
지난 글에 이어서 텐서의 타입에 대해서 알아보겠습니다.
텐서 타입과 크기
텐서에는 타입과 크기가 있습니다. torch.Tensor()의 기본 텐서 타입은 torch.FloatTensor입니다.
텐서 타입은 초기화할 때 지정하거나 나중에 다른 타입(float, long, double 등)으로 바꿀 수 있습니다.
처음 초기화 할 때의 타입 지정엔 두 가지 방법이 있습니다.
1. FloatTensor, LongTensor 같은 특정 텐서 타입의 생성자를 직접 호출한다.
2. torch.tensor()와 함께 dtype 매개변수를 사용한다.
주피터 노트북으로 실습
In [1] :
import torch
def describe(x):
print("타입: {}".format(x.type()))
print("크기: {}".format(x.shape))
print("값: \n{}".format(x))
- 라이브러리를 불러오고, 정보를 확인하기 위한 간단한 함수를 설정합니다.
In [2] :
x = torch.FloatTensor([[1,2],
[3,4]])
describe(x)
- torch.FloatTensor()함수를 사용해 텐서를 만들고 결과를 확인합니다.
- 이 방법은 위에서 언급한 1번 방법입니다.
In [3] :
x = x.long()
describe(x)
- 타입 캐스팅 메서드를 사용해 텐서의 타입을 바꾸는 방법입니다.
- .long() 함수를 사용해 텐서의 타입이 LongTensor로 바뀐 결과를 확인할 수 있습니다.
In [4] :
x = x.double()
describe(x)
- 바로 위의 내용과 동일합니다.
- long(), double(), float() 등이 있습니다.
In [5] :
x = torch.tensor([[1,2,3],
[4,5,6]], dtype=torch.int64)
describe(x)
- 위에서 언급한 두 번째 방법입니다. torch.tensor() 함수로 텐서를 생성하면서 dtype 매개변수를 사용해 텐서의 타입을 지정하는 방법입니다.
In [6] :
x = x.float()
describe(x)
- 이 방법도 1번과 동일하게 타입 캐스팅 메서드를 사용할 수 있습니다.
728x90
반응형
'머신러닝 & 딥러닝 > 자연어처리' 카테고리의 다른 글
자연어처리(NLP)에 쓰이는 13가지 기초 용어 알아보기 (0) | 2021.11.29 |
---|---|
파이토치 기초 텐서(Tensor) 인덱싱, 슬라이싱, 합치기(연결) - torch.index_select(), cat(), stack() (0) | 2021.11.28 |
파이토치 기초 텐서(Tensor) 연산 및 유용한 함수 - torch.add(), arange(), view(), sum(), transpose() (0) | 2021.11.27 |
파이토치 기초 텐서(Tensor) 다루기 - torch.Tensor(), rand(), randn(), zeros(), ones(), fill_(), from_numpy() (0) | 2021.11.27 |
원-핫 표현, TF 표현, TF-IDF 표현 (0) | 2021.11.25 |
댓글