- Published On
Squeeze, Unsqueeze
squeeze
squeeze와 unsqueeze는 1인 차원을 제거, 생성할때 매우 유용한 함수이다.
- squeeze는 차원이 1인 차원을 제거해준다.(default값)
- 차원을 설정해주면 그 차원만 제거한다.(1인 차원만 제거되니 참고)
import torch
x = torch.rand(3, 20, 1, 1)
print(x.shape)
# torch.Size([3, 20, 1, 1])
x = x.squeeze()
print(x.shape)
# torch.Size([3, 20])
x = torch.squeeze(x, 1)
print(x.shape)
# torch.Size([3, 20])
unsqueeze
- unsqueeze는 차원이 1인 차원을 생성해준다.
x = torch.rand(3, 20, 30, 40)
print(x.shape)
# torch.Size([3, 20, 30, 40])
x = x.unsqueeze(dim=1)
print(x.shape)
# torch.Size([3, 1, 20, 30, 40])
x = torch.rand(3, 20, 30, 40)
print(x.shape)
# torch.Size([3, 20, 30, 40])
x = torch.unsqueeze(x,1)
print(x.shape)
# torch.Size([3, 1, 20, 30, 40])
x = torch.rand(3, 20, 30, 40)
print(x.shape)
# torch.Size([3, 20, 30, 40])
x = x.unsqueeze(dim = 0)
print(x.shape)
# torch.Size([1, 3, 20, 30, 40])
다음 포스트
nn.Embedding 사용 방법연관된 포스트 구경가기
1. Pytorch Dataset 클래스(상속) 파악하기!!2. Pytorch nn.Module 클래스(상속) 파악하기!!3. Pytorch Dataloader4. 맥북(Mac OS) 사용자의 Pytorch GPU를 사용법5. 파이토치로 nn모듈의 CNN사용하기6. 파이토치 함수7. 파이토치 기본 정보들8. 파이토치 차원 변경(reshape,view,permute) 비교9. Squeeze, Unsqueeze10. nn.Embedding 사용 방법11. NLP 분야의 MRC
간략히