Python

[pytorch] squeeze, unsqueeze 함수

2023. 3. 2. 00:06
728x90

 

◾ squeeze 함수

squeeze 함수는 Tensor의 차원을 줄이는 함수로, 설정한 차원을 제거 해 준다.

따로 차원을 설정하지 않으면 1인 차원을 모두 제거한다. 1인 차원이 여러개 있어도 여러개 전부 다! 제거한다.

import torch

x = torch.rand(1,7,46,46)
print(x.shape)  # torch.Size([1, 7, 46, 46])

x = x.squeeze(dim=1)
print(x.shape)  # torch.Size([7, 46, 46])

한가지 조심해야 할 것은 batch size가 1일 때 squeeze 함수를 사용하게 되면 batch 차원을 없애버려 validation 시 오류가 발생하게 된다. 이걸 간과하고 있어서 학습할 때 validation에서 계속 오류가 났는데.. 이게 원인이었다..

squeeze(dim='제거하고자 하는 차원') 함수 사용 시 dim 뒤에 제거하고자 하는 차원을 지정 해 주면 된다. dim=을 적지 않은 경우 1인 차원을 제거하게 된다.

 

 

◾ unsqueeze 함수

반대로 unsqueeze 함수는 squeeze 함수와 반대로 차원을 늘려주는 함수인데, 1인 차원을 생성한다. unsqueeze 함수를 사용할 땐 어느 차원에 1인 차원을 생성을 할 것인지를 지정 해 주어야만 한다.

import torch

x = torch.rand(7,46,46)
print(x.shape)  # torch.Size([7, 46, 46])

x = x.unsqueeze(dim=2)
print(x.shape)  # torch.Size([7, 46, 1, 46])

 

728x90
저작자표시 비영리 변경금지 (새창열림)
'Python' 카테고리의 다른 글
  • [pytorch] transpose, permute 함수
  • [pytorch] .detach().cpu().numpy()
  • 파이썬으로 문자열 체크하기 | 문자열 체크 함수 | isalpha(), isalnum(), isnumeric(), isdigit(), isdecimal()
  • [코딩도장] Unit.24 문자열 응용하기 | 24.5, 24.6 심사문제 코드
토오오끼
토오오끼
나의 성장 일기가 되었으면 하는 블로그 contact : ryuhyojung@naver.com
250x250
토오오끼
초보 개발자의 일기장
토오오끼
전체
오늘
어제
  • 분류 전체보기 (320) N
    • 나는야 초보 개발자 (2)
    • ML & DL (33)
    • Python (37) N
    • SQL (16)
    • Computer Science (8)
    • Algorithm (51)
    • Git (9)
    • Docker (2)
    • Kubernetes (9)
    • Airflow (5)
    • Jetson (7)
    • Gstreamer (1)
    • etc (21)
    • 논문 리뷰 (21)
    • 각종 에러들을 해결 해 보자 (36)
    • 자격증 (15)
      • 정보처리기사 (11)
      • 한국사 (3)
      • CKA (1)
    • 일상 (47)
      • 대학원 (1)
      • 미라클 모닝 - DONE (30)
      • 한 달에 최소 한 권의 책 읽기 - HOLD (10)
      • AIFFEL(아이펠) - FINISHED (4)
      • Etc. (2)

인기 글

태그

  • 알고리즘
  • Python
  • 코테
  • 파이썬
  • 코딩 테스트
  • 딥러닝
  • AI
  • 코딩테스트
  • Programmers
  • 프로그래머스

최근 댓글

최근 글

hELLO · Designed By 정상우.
토오오끼
[pytorch] squeeze, unsqueeze 함수
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.