본문 바로가기

pytorch2

[Pytorch] - Ones and Zeros Ones and Zeros 이번에는 Ones and Zeros에 대하여 언급하고자 합니다. 아주 쉬운 개념이지만 ones_like의 경우는 똑같은 Size에 똑같은 Shape에 1로 가득 차게 됩니다. Zeors도 마찬가지 입니다. 사실 이러한 코드는 사용하기에는 매우 쉽지만, 중요한것은 device도 똑같이 가게 된다는 것입니다. GPU에서 Tensor를 선언하게 되는 상황이 생길때는 다른 모델이 GPU에서 돌아가고, CPU에서 텐서를 만들고 CPU, GPU텐서를 더하게 되면 에러가 발생하게 되는데, 이러한 에러를 막기위해 ones_like, zeros_like를 사용하게 되면 같은 Device로 Tensor를 선언해주어 이러한 에러를 막을 수 있겠습니다. 2021. 10. 22.
[Pytorch] - Squeeze, Unsqueeze차이 파이토치를 이용하여 모델링을 하시는 분들은 꼭 이해하고 있어야하는 코드라고 생각합니다. 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).. 2021. 10. 22.