728x90
반응형
파이토치를 활용한 자연어 처리를 기본서부터 공부하고 있습니다
기본서에서 파이토치를 사용해 텐서를 만드는 기초부분을 공부했습니다.
주피터 노트북으로 실습
In [1] :
import torch
def describe(x):
print("타입: {}".format(x.type()))
print("크기: {}".format(x.shape))
print("값: \n{}".format(x))
- 파이토치를 불러오고, 텐서를 생성했을 때 확인하기 위한 간단한 함수입니다.
In [2] :
describe(torch.Tensor(2,3))
- torch.Tensor()를 사용해 차원을 지정하여 텐서를 랜덤하게 초기화 할 수 있습니다.
In [3] :
describe(torch.rand(2,3))
describe(torch.randn(2,3))
- torch.rand()와 torch.randn()을 사용해 위와 같이 균등 분포, 표준 정규 분포 텐서를 만들 수 있습니다.
In [4] :
describe(torch.zeros(2,3))
In [5] :
x = torch.ones(2,3)
describe(x)
- torch.zeros(), torch.ones()를 사용해 각각 0과 1의 값으로 채워진 텐서를 만들 수도 있습니다.
In [6] :
x.fill_(5)
describe(x)
- .fill_() 함수를 사용해 원하는 값으로 채워 줄 수 있습니다.
In [7] :
x = torch.Tensor([[1,2,3],
[4,5,6]])
describe(x)
- 파이썬 리스트 형식으로도 텐서를 만들 수 있습니다.
In [8] :
import numpy as np
np = np.random.rand(2,3)
describe(torch.from_numpy(np))
- numpy 라이브러리를 불러와 np.random.rand() 함수를 사용해 넘파이 배열을 만들었습니다.
- 이후, torch.from_numpy() 함수를 사용해 넘파이 배열을 텐서로 만들었습니다.
- 결과를 보면 텐서 타입이 기본 FloatTensor가 아니라 DoubleTensor가 된 것을 확인할 수 있습니다.
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) 타입 - float, long, double (0) | 2021.11.27 |
원-핫 표현, TF 표현, TF-IDF 표현 (0) | 2021.11.25 |
댓글