덕배의 블로그
텐서 연결, 스택킹을 파이토치(pytorch) 실습해보기 본문
텐서 연결, 스택킹
텐서를 연결하기 전에 텐서에 대한 개념을 알고 싶다거나 넘파이로 실습을 진행하고 싶다면 밑에 링크를 통해 확인하자.
벡터, 행렬, 텐서를 이해하고 Numpy(넘파이)로 실습해보기
딥러닝의 기본적인 단위 딥 러닝의 가장 기본적인 단위는 벡터, 행렬, 텐서이다. 차원이 없는 값을 스칼라 딥러닝을 할 때 다루고 있는 행렬 또는 텐서의 크기를 고려하는 것은 중요하기에 딥러
kdbeom.com
파이토치 이용한 다양한 실습을 해보고 싶다면 밑에 사이트를 참고하면 좋을 듯하다.
벡터, 행렬, 텐서의 개념 pytorch(파이토치) 실습해보기
벡터, 행렬, 텐서 벡터, 행렬, 텐서를 실습하기 전에 개념에 대해서 정확하게 알고 가면 좋을 듯하여 밑에 링크를 걸어놨으니 참고하자 https://rkdtmdqja98.tistory.com/31 벡터, 행렬, 텐서를 이해하고 Num
kdbeom.com
텐서 연결
torch.cat을 통해 연결 가능
a = torch.FloatTensor([[1, 2], [3, 4]])
b = torch.FloatTensor([[5, 6], [7, 8]])
print(torch.cat([a, b], dim=0))
tensor([[1., 2.],
[3., 4.],
[5., 6.],
[7., 8.]]) #dim=0 첫번째 차원을 늘리자
dim = 1일 때
a = torch.FloatTensor([[1, 2], [3, 4]])
b = torch.FloatTensor([[5, 6], [7, 8]])
print(torch.cat([a, b], dim=1))
tensor([[1., 2., 5., 6.],
[3., 4., 7., 8.]]) #(2X4)로 변경
스택킹
스택킹은 텐서들의 연결을 도와줌과 동시에 많은 연산을 포함하고 있다.
a = torch.FloatTensor([1, 4])
b = torch.FloatTensor([2, 5])
c = torch.FloatTensor([3, 6])
print(torch.stack([a, b, c]))
tensor([[1., 4.],
[2., 5.],
[3., 6.]]) #(3X2)
print(torch.cat([a.unsqueeze(0), b.unsqueeze(0), c.unsqueeze(0)], dim=0))
tensor([[1., 4.],
[2., 5.],
[3., 6.]])
unsqueeze는 차원을 늘린다는 뜻이며 이것에 대해서 더 알고 싶다면 밑에 링크를 통해 알기를 바란다. unsqueeze 말고도 squeeze도 있으니 참고하길 바란다.
텐서 크기 변경, 차원 제거, 타입 캐스팅 파이토치(pytorch)로 실습하기
텐서의 크기 변경, 차원 제거, 타입 캐스팅 텐서의 크기 변경, 차원 제거, 타입 캐스팅 등등 다양한 실습을 해보기 전에 벡터, 행렬, 텐서에 대해서 정확한 개념을 알고 싶다면 밑에 사이트를 참
kdbeom.com
덮어써서 연산
연산 뒤에 _를 붙이면 기존의 값을 덮어쓰기 가능
_를 붙이지 않는다면 저장이 안 되고 기존의 값을 출력하게 된다.
print(x.mul_(2.)) # 곱하기 2를 수행한 결과를 변수 x에 값을 저장하면서 결과를 출력
print(x) # 기존의 값 출력
tensor([[2., 4.],
[6., 8.]])
tensor([[2., 4.],
[6., 8.]])
0이나 1로만 채워진 텐서
ones_like - 1로 채우기
zeros_like - 0으로 채우기
a = torch.FloatTensor([[0, 1, 2], [2, 1, 0]])
print(a)
tensor([[0., 1., 2.],
[2., 1., 0.]])
print(torch.ones_like(a)) # 입력 텐서와 크기를 동일, 값을 1로 채우기
tensor([[1., 1., 1.],
[1., 1., 1.]])
zeros_like일 때
a = torch.FloatTensor([[0, 1, 2], [2, 1, 0]])
print(torch.zeros_like(a))
tensor([[0., 0., 0.],
[0., 0., 0.]])
이렇게 텐서들과의 연결, 스택킹 등등에 대해서 파이토치로 실습하는 방법을 알아보았다. 이 글은 독자에게 도움이 되었으면 좋겠다는 마음을 가지고 써보았다. 이 뜻이 전달되었으면 좋겠다.
'인공지능' 카테고리의 다른 글
다중 선형 회귀, 벡터 내적에 대해서 알아보고 파이토치로 실습해보기 (0) | 2023.08.12 |
---|---|
딥러닝 선형 회귀(Linear Regression), 경사 하강법을 알고 파이토치로 실습해보자 (0) | 2023.08.09 |
텐서 크기 변경, 차원 제거, 타입 캐스팅 파이토치(pytorch)로 실습하기 (0) | 2023.08.07 |
벡터, 행렬, 텐서의 개념 pytorch(파이토치) 실습해보기 (2) | 2023.08.06 |
벡터, 행렬, 텐서를 이해하고 Numpy(넘파이)로 실습해보기 (0) | 2023.08.05 |