Hello Computer Vision

torch stack, cat 차이 본문

딥러닝/파이토치

torch stack, cat 차이

지웅쓰 2024. 1. 17. 21:59

데이터셋을 다루다보면은 cat, stack을 사용하는 코드들이 종종 있는데 이를 구분하기 위해 정리하려고 한다.

우선 코드로 먼저 확인하는게 제일 빠를 거 같다.

 

x = torch.rand(3, 5)
y = torch.rand(3, 5)

a = torch.cat([x, y], dim = 0)
b = torch.stack([x, y], dim = 0)

print(a.shape)
print(b.shape)
torch.Size([6, 5])
torch.Size([2, 3, 5])

결과로 보는 것처럼 torch.cat을 사용한다면 지정해준 dim에 텐서들을 붙이는 것을 확인할 수 있다.

그러나 torch.stack을 사용한다면 새로운 차원에서 텐서들을 붙이는 것을 확인할 수 있다.