Coding/Basic

[Pytorch] permute/transpose/view/reshape/flatten/squeeze

참고자료1 참고자료2 참고자료3 참고자료4

텐서의 차원 변경

  1.  view
    1. contiguous하지 않는 함수에서도 작동한다.
    2. reshape() ==contiguous().view()
  2. reshape

텐서의 차원 교환

  1. transpose
    1. contiguous tensor에서 사용할 수 있음
    2. swap only two dimension
    3. view 함수를 이용해서 반환된 값은 원본과 data(memory)를 공유하기 때문에 하나만 수정해도 반환 이전의 변수와 이후 변수 모두 수정된다.
  2. permute: transpose의 일반화 버전
    1. sway all the dimensions

텐서를 결합

  1. stack
  2. cat

텐서의 차원 늘리기

  1. unsqueeze
    1. dimension을 늘려주고 그 값은 1로 만듭니다

텐서의 차원 줄이기

  1. squeeze
    1. 어떤 dimension의 값이 1일 때, 그 dimension을 제거
  1. flatten