반응형
pytorch에서 텐서를 반복하여 확장하는 방법들을 정리하겠음.
1) torch.expand()
dim=1인 축에 대해서만 확장이 가능하며, shape을 input으로 받음
사용 예)
여기서, 1이 아닌 차원을 확장하려 하면 runtime error 발생.
해결방법 repeat이나 repeat_interleave 사용하면 됨.
cf) expand_as() : ref) https://pytorch.org/docs/stable/generated/torch.Tensor.expand_as.html
ref ) https://pytorch.org/docs/stable/generated/torch.Tensor.expand.html
2) torch.repeat()
단순히 인풋 텐서를 원하는 shape으로 차곡차곡 쌓음
사용 예)
ret) https://pytorch.org/docs/stable/generated/torch.Tensor.repeat.html
3) torch.repeat_interleave()
원하는 행별로 반복할 수 있어서 numpy의 np.repeat 처럼 사용 가능함.
사용 예)
이런식으로 사용했을 때, 원하는 차원 축을 반복하여 확장할 수 있어 model feeding 할 때 유용하게 사용함.
ref) https://pytorch.org/docs/stable/generated/torch.repeat_interleave.html
반응형
'인공지능' 카테고리의 다른 글
AI 반도체(GPU, NPU, TPU, 뉴로모픽) (1) | 2024.01.13 |
---|---|
CUDA란? (0) | 2024.01.04 |
[texture] 3D obj에서 segmenation 기반 texture stiching github (0) | 2023.04.01 |