Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- KOSMOS-2
- Video Understanding
- pretrained model layer
- 강화학습
- 논문 작성
- 특정 layer 동결
- vsocde 익스텐션
- 주식
- layer 추출
- 가중치 없이 모델 로드
- Instruction dataset
- 모델 freeze
- def validation
- 모델 구조 변경
- 논문 작성 요령
- DeepNet
- Multimodal Large Language Model
- cnn
- Foundation Transformers
- 모델 동결
- def train
- 파라미터 수
- mqtt
- 파라미터 수 확인
- 주식 용어정리
- 논문리뷰
- mPLUG-2
- 가상환경
- MLLM
- 특정 layer 추출
Archives
- Today
- Total
시작은 미약하였으나 , 그 끝은 창대하리라
[1차원 추가 및 제거] Pytorch squeeze / unsqueeze 본문
상황: 딥러닝을 하다보면 1차원을 추가 및 제거를 위한 단계가 필요하게 된다.
1. squeeze : 1차원 제거 역할.
import torch
x= torch.ones(5,4,1,4,1)
x1 = x.squeeze() # 모든 1차원 제거
print(x1.size()) # torch.Size([5, 4, 4])
x2= x.squeeze(dim = 2)
print(x2.size()) # torch.Size([5, 4, 4, 1])
x3= x.squeeze(dim = -1) # dim=4 와 같음
print(x3.size()) # torch.Size([5, 4, 1, 4])
x4= x.squeeze(dim = 1) # 잘못된 차원 삭제 불가능.
print(x4.size()) # torch.Size([5, 4, 1, 4, 1])
참고 : torch.squeeze(tensor, dim) 형태도 가능.
2. unsqueeze : 1차원 추가 역할.
import torch
# 초기 텐서 생성
x = torch.ones(7,3,4)
# unsqueeze로 차원 추가
x1 = x.unsqueeze(dim=2) # 2번째 차원에 1차원 추가
print(x1.size()) # torch.Size([7, 3, 1, 4])
x2 = x.unsqueeze(dim=-1) # 마지막 차원에 1차원 추가
print(x2.size()) # torch.Size([7, 3, 4, 1])
x3 = x.unsqueeze(dim=0) # 첫 번째 차원에 1차원 추가
print(x3.size()) # torch.Size([1, 7, 3, 4])
x4 = x.unsqueeze(dim=4) # 차원 넘어가면 오류발생.
print(x4.size()) # 오류 발생.
참고 : torch.unsqueeze(tensor, dim) 형태도 가능.
'인공지능 > 딥러닝 및 파이토치 기타 정리' 카테고리의 다른 글
[파이썬 디버거] import pdb;pdb.set_trace() (0) | 2023.12.27 |
---|---|
[형변환] Tensor to Numpy / Numpy to Tensor (0) | 2023.12.23 |
[Cross entropy] 크로스 엔트로피의 index 값은 0부터 시작이다. (0) | 2023.12.23 |
[Pytorch] 모델 생성시, super().__init__() (0) | 2023.11.01 |
오차함수 vs 최적화함수 vs 활성화 함수. (0) | 2023.03.16 |
Comments