Boostcamp AI tech 3기/개념 이해
텐서 함수 조금 정리. 생성, 타입, select, cat, stack
mcdn
2022. 1. 25. 14:09
반응형
각종 텐서 다루는 함수 정리
참고한 문서들
http://www.gisdeveloper.co.kr/?p=8392
잘 정리되어있음 추천!!
# 텐서 생성
1. torch.rand(2,3)
그냥 난수 값으로 2*3 텐서 생성
2. torch.randn(2,3)
정규분포 따른 난수 값
3. torch.randint(0,10,size=(2,3))
정수값으로 이루어진 난수값
4. torch.zeros(2,3)
5. torch.zeros_like(other_tensor)
6. torch.ones_like(other_tensor)
# 텐서 타입
1. tf.type() # torch.FloatTensor
2. type(tf) # <class 'torch.tensor'="">
3. tf.type(dtype=torch.IntTensor)
int type으로 타입을 변경해줌
4. torch.from_numpy(x1)
numpy array를 파이토치 텐서로 만들어준다.
반대는 .numpy()
# 텐서 크기
1. tf.size()
tf.size()[1]처럼 접근할 수 있다.
# index_select() : 인덱스를 기준으로 빼오기
x = torch.randn(4,3)
# 4 *3 배열
ret = torch.index_select(x, 1, torch.LongTensor([0,2]))
# 4 *2 배열 \ COL을 기준으로 0번째, 2번째 인덱스를 돌려준다.
# masked_select() : boolTensor를 기준으로 빼오기.
x = torch.randn(2,3)
mask = torch.BoolTensor([False, False, True], [False, True, False])
output = torch.masked_select(x, mask)
# [0,2], [1,1] 값만 나오게 된다.
# cat() : 텐서 결합하기
output = torch.cat([x,y], dim=0)
# stack() : 같은 텐서 덧붙이기
x = torch.Tensor([[1,2,3],[4,5,6]])
output = torch.stack([x,x,x,x],dim=0)
# view, reshape : 텐서 모양 바꾸기
import numpy as np
import torch
t = np.zeros((3,3,4))
ft = torch.Tensor(t)
ft =
반응형