파이토치를 이용하여 모델링을 하시는 분들은 꼭 이해하고 있어야하는 코드라고 생각합니다.
Squeeze
먼저 위의 코드는 Squeeze를 이해하기 쉽습니다. View함수와 비슷하지만 자동으로 원하는 차원에 하나만남아있는 경우는 지워주는 역할을 하게 됩니다.
ft에 저장되어있는 Size는 (3,1)이었으나, Squeeze를 사용하고 나니 (3)의 size가 된 것을 볼 수 있죠.
3차원이면 2차원이되겠죠?
즉 Squeeze는 차원축소라고 생각하시면 되겠습니다.
Unsqueeze
다음은 Unsqueeze이다.
Squeeze의 반대라고 생각하면 쉬운데, ft.unsqueeze(0)은 dim=0과 같은 의미이고, 그 아래 코드는 첫번째 dim에 1을 넣으라는 의미가 됩니다. 그 아래 코드의 unsqueeze(1)을 보면 두번째 dim에 1을 넣으라는 의미가 되어 (3,1)이 되는 것을 알 수 있겠습니다.
댓글