개발자의 스터디 노트
텐서의 연산 본문
1. 헬퍼 함수 describe(x)를 정의합니다.
## 헬퍼함수 describe(x)를 정의
def describe(x):
print("타입: {}".format(x.type()))
print("크기: {}".format(x.shape))
print("값: \n{}".format(x))
2. 2행 3열의 랜던 텐서 생성
import torch
x = torch.randn(2,3)
describe(x)
타입: torch.FloatTensor
크기: torch.Size([2, 3])
값:
tensor([[ 0.5902, 0.9407, 0.3684],
[-2.2278, -1.0045, -0.2298]])
3. 텐서 x를 더해봅시다.
# add함수를 이용하여 텐서 더하기
describe(torch.add(x,x))
타입: torch.FloatTensor
크기: torch.Size([2, 3])
값:
tensor([[ 1.1804, 1.8813, 0.7368],
[-4.4556, -2.0090, -0.4596]])
# +기호를 이용하여 텐서 더하기
describe(x+x)
타입: torch.FloatTensor
크기: torch.Size([2, 3])
값:
tensor([[ 1.1804, 1.8813, 0.7368],
[-4.4556, -2.0090, -0.4596]])
4. 차원별 텐서 연산
4.1 arange() 함수는 0에서부터 지정한 수 전까지 1씩 증가하는 텐서를 만드는 함수입니다.
import torch
x = torch.arange(6)
describe(x)
타입: torch.LongTensor
크기: torch.Size([6])
값:
tensor([0, 1, 2, 3, 4, 5])
4.2 view() 함수는 동일한 데이터를 공유하는 새로운 텐서를 만듭니다.
x = x.view(2,3)
describe(x)
타입: torch.LongTensor
크기: torch.Size([2, 3])
값:
tensor([[0, 1, 2],
[3, 4, 5]])
4.3 torch.sum()
describe(torch.sum(x, dim=0))
타입: torch.LongTensor
크기: torch.Size([3])
값:
tensor([3, 5, 7])
describe(torch.sum(x, dim=1))
타입: torch.LongTensor
크기: torch.Size([2])
값:
tensor([ 3, 12])
4.4 torch.transpose()
describe(torch.transpose(x,0,1))
타입: torch.LongTensor
크기: torch.Size([3, 2])
값:
tensor([[0, 3],
[1, 4],
[2, 5]])
https://runebook.dev/ko/docs/pytorch/generated/torch.transpose
'파이썬 > 파이토치 자연어처리' 카테고리의 다른 글
신경망의 기본 구성 요소 (0) | 2022.02.10 |
---|---|
텐서의 인덱싱, 슬라이싱, 연결 (0) | 2022.02.08 |
텐서를 만들어 봅시다. (0) | 2022.02.08 |
샘플과 타깃의 인코딩 (0) | 2022.02.08 |
지도학습이란? (0) | 2022.02.08 |