반응형
소개
torch.unsqueeze 함수는 PyTorch에서 텐서의 특정 위치에 새로운 차원을 추가하는 함수입니다. 이 함수는 모델의 입력 형식을 맞추거나, 텐서의 차원을 늘려야 할 때 유용하게 사용됩니다.
기본 사용법
상세 설명
- torch.unsqueeze 함수의 기본 구문은 torch.unsqueeze(input, dim)입니다.
- input: 차원을 추가할 입력 텐서.
- dim: 추가할 차원의 위치를 지정합니다. 음수 값을 사용할 수도 있으며, 이는 뒤에서부터의 위치를 나타냅니다.
- torch.unsqueeze 함수는 지정된 위치에 새로운 차원을 추가하여, 입력 텐서를 확장합니다.
예시 설명
- torch.unsqueeze(tensor, 0)는 1차원 텐서 [1, 2, 3]에 첫 번째 차원을 추가하여 2차원 텐서 [[1, 2, 3]]를 생성합니다.
- torch.unsqueeze(tensor, 1)는 1차원 텐서 [1, 2, 3]에 두 번째 차원을 추가하여 2차원 텐서 [[1], [2], [3]]를 생성합니다.
- torch.unsqueeze(tensor, 0)는 2차원 텐서 [[1, 2], [3, 4]]에 첫 번째 차원을 추가하여 3차원 텐서 [[[1, 2], [3, 4]]]를 생성합니다.
- torch.unsqueeze(tensor_gpu, 1)는 GPU 장치에서 1차원 텐서 [1, 2, 3]에 두 번째 차원을 추가하여 2차원 텐서 [[1], [2], [3]]를 생성합니다.
# 기본
import torch
tensor = torch.tensor([1, 2, 3])
unsqueezed = torch.unsqueeze(tensor, 0)
print(unsqueezed)
# 출력: tensor([[1, 2, 3]])
# 다양한 크기와 데이터 타입
import torch
# 두 번째 차원에 차원 추가
tensor = torch.tensor([1, 2, 3])
unsqueezed = torch.unsqueeze(tensor, 1)
print(unsqueezed)
# 출력: tensor([[1],
# [2],
# [3]])
# 3차원 텐서에 차원 추가
tensor = torch.tensor([[1, 2], [3, 4]])
unsqueezed = torch.unsqueeze(tensor, 0)
print(unsqueezed)
# 출력: tensor([[[1, 2],
# [3, 4]]])
# GPU에서 텐서 차원 추가
tensor_gpu = torch.tensor([1, 2, 3], device=torch.device('cuda'))
unsqueezed_gpu = torch.unsqueeze(tensor_gpu, 1)
print(unsqueezed_gpu)
# 출력: tensor([[1],
# [2],
# [3]], device='cuda:0')
라이센스
PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
관련 내용
[PyTorch] 차원을 줄여라: torch.squeeze() 함수 사용법 이해하기
[PyTorch] 텐서 펼치기: torch.flatten() 사용 가이드
반응형
'함수 설명 > 인공지능 (Pytorch)' 카테고리의 다른 글
[PyTorch] 효율적인 데이터 배치: torch.utils.data.DataLoader() 사용 가이드 (0) | 2024.08.16 |
---|---|
[PyTorch] GPU 사용 가능 여부 체크: torch.cuda.is_available() 사용 가이드 (0) | 2024.08.16 |
[PyTorch] 차원을 줄여라: torch.squeeze() 함수 사용법 이해하기 (0) | 2024.07.19 |
[PyTorch] 텐서 펼치기: torch.flatten() 사용 가이드 (0) | 2024.07.19 |
[PyTorch] 차원을 추가하여 텐서 쌓기: torch.stack() 함수 활용법 (0) | 2024.07.19 |