사용하다 보면 tensor의 차원을 바꿔야 할 경우가 있다.
ex) single data로 테스트를 하려는데 nn.module의 입력은 4차원 텐서일 경우 등.
이럴 경우 차원을 늘리거나 줄여야 할 때는 torch.squeeze() 와 torch.unsqueeze() 함수를 이용한다.
# a => torch.Size([1, 128, 128])
a = torch.squeeze(a) # a => torch.Size([128, 128])
a = torch.unsqueeze(a, 0) # a => torch.Size([1, 128, 128])
a = torch.unsqueeze(a, 0) # a => torch.Size([1, 1, 128, 128])
a = torch.unsqueeze(a, 3) # a => torch.Size([1, 1, 128, 1, 128])
a = torch.squeeze(a, 3) # a => torch.Size([1, 1, 128, 128])
'전공관련 > Deep Learning' 카테고리의 다른 글
[Pytorch] pytorch 와 tensorboard를 같이 써보자. (0) | 2019.11.15 |
---|---|
[Pytorch] multiGPU 에서 학습한 모델을 singleGPU에서 사용하자 (0) | 2019.03.18 |
[Pytorch] Multi GPU를 활용 해 보자 (2) | 2019.03.15 |
[Pytorch] network 결과물 사용시 주의사항! (0) | 2019.03.13 |
[Pytorch] torch.load 에서 학습시와 환경이 달라서 못읽을 경우 (3) | 2019.03.13 |