https://seducinghyeok.tistory.com/9
torch.repeat(*sizes) 로 특정 텐서의 차원을 지시한 횟수만큼 반복할 수 있다.
torch.expand(*sizes) 로는, 직관적으로 어떤 텐서자체를 하나의 point처럼 반복해 새로운 텐서를 만들 수 있다.
위 블로그의 예시코드로 자세히 이해할 수 있다.
결론은,
LSTM에서 한 input vector에 대해 4번의 GATE계산을 병렬적으로 해야할 때 repeat나 expand를 통해 벡터를 복사해주고, 한번에 여러 weights와 계산을 수행하게 한다면 효율적일 것 같다.
이처럼, 모델의 중간에서 특정 feature vector가 반복되어 계산되어야할 때 유용하게 사용할 수 있는 메소드같다.
'소프트웨어 > 프로그래밍' 카테고리의 다른 글
| git에서 특정 브랜치만 clone 하는 방법 (0) | 2022.11.11 |
|---|