컴퓨터언어정리/Pytorch2 [Pytorch 용어 정리] Squeeze, Unsqueeze * Squeeze함수 - 차원이 1인 차원을 제거해 준다. 따로 차원을 설정하지 않으면 1인 차원을 모두 제거한다. 그리고 차원을 설정해 주면 그 차원만 제거한다. * 주의할 점은 생각치도 못하게 batch가 1일때 batch차원도 없애버리는 불상사가 발생할 수 있다. 그래서 validation 단계에서 오류가 날 수 있기 때문에 주의해서 사용해야 한다. * Unsqueeze함수 - squeeze함수의 반대로 1인 차원을 생성하는 함수이다. 그래서 어느 차원에서 1인 차원을 생성할지 꼭 지정해 주어야 한다. ex) x.unsqueeze(dim=1) # [3,20,128- ->[3,1,20,128] 2022. 5. 16. [Pytorch]Permute,Reshape, View 비교 공통점 : tensor의 형태를 바꾸는 pytorch의 기능 * reshape, view vs permute의 차이 - reshape, view에서는 ()괄호 안에 넣을 엔트리들이 전체 텐서 수 (사이즈)와 같아야 한다. 예를 들어 torch.randn(1,16)을 하면 총 16개의 텐서가 생성되는데 reshape(2,8)과 같이 모든 엔트리의 곱이 16이 되야 한다. 이는 view도 마찬가지다. - 하지만 permute는 ()안에 들어가는 수가 index를 의미한다. * reshape vs view 차이 - reshape는 contiguous, non-contiguous tensor와 무관하게 적용 가능하다. view는 contiguous한 tensor에만 적용 가능하다. ( 또한 view는 남은 행 .. 2022. 5. 13. 이전 1 다음