반응형
torch.flatten(t, s) 함수는 s 차원 이후에 평평하게 펴라는 뜻이다.
torch.flatten(t, s, e) 이렇게 사용하면 t 차원부터 e차원까지만 평평하게 펴라는 뜻
아래는 예제
t = torch.tensor([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
# t.size() is [2, 2, 2]
torch.flatten(t, 0)
tensor([1, 2, 3, 4, 5, 6, 7, 8])
torch.flatten(t, 1)
tensor([[1, 2, 3, 4],
[5, 6, 7, 8]])
torch.flatten(t, 2)
tensor([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
torch.equal(t, torch.flatten(t, 2))
#True
torch.flatten(t[:, :, :, None], 0, 2)
tensor([[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8]])
torch.flatten(t[:, :, :, None], 0, 2).size()
torch.Size([8, 1])
torch.flatten(t[:, :, :, None], 0, 3)
tensor([1, 2, 3, 4, 5, 6, 7, 8])
torch.flatten(t[:, :, :, None], 0, 3).size()
torch.Size([8])
반응형
'Pytorch' 카테고리의 다른 글
[Pytorch] torch.tensor.repeat() 사용하기 (0) | 2023.03.08 |
---|---|
[Pytorch] network parameter 갯수 확인 (0) | 2023.02.01 |
[Pytorch] 분류(classification)문제 에서 label 변환 (one-hot vs class) (0) | 2022.12.04 |
[Pytorch] pytorch 에서 np.where 처럼 index 가져오기 (0) | 2022.08.17 |
[Pytorch] Distributed package 를 이용한 분산학습으로 Multi-GPU 효율적으로 사용하기 (4) | 2022.06.15 |
댓글