반응형
소개
torch.cat 함수는 PyTorch에서 여러 텐서를 주어진 차원으로 이어 붙이는 함수입니다. 이 함수는 데이터 결합, 배치 생성 등 다양한 딥러닝 및 데이터 처리 작업에서 유용하게 사용됩니다.
기본 사용법
상세 설명
- torch.cat 함수의 기본 구문은 torch.cat(tensors, dim=0, out=None)입니다.
- tensors: 결합할 텐서들의 튜플이나 리스트.
- dim: 이어 붙일 차원을 지정합니다. 기본값은 0입니다.
- out: 결과 텐서를 저장할 텐서.
- torch.cat 함수는 주어진 텐서들을 지정된 차원(dim)으로 이어 붙여 새로운 텐서를 반환합니다. 이어 붙일 차원을 제외한 다른 차원들은 동일해야 합니다.
예시 설명
- torch.cat((tensor1, tensor2), dim=0)은 두 텐서를 첫 번째 차원(행)으로 이어 붙입니다.
- torch.cat((tensor1, tensor2), dim=1)은 두 텐서를 두 번째 차원(열)으로 이어 붙입니다.
- torch.cat((tensor1, tensor2, tensor3), dim=0)은 세 개의 1차원 텐서를 첫 번째 차원으로 이어 붙여 하나의 긴 1차원 텐서를 만듭니다.
- torch.cat((tensor1, tensor2), dim=0)은 GPU 장치에서 두 텐서를 첫 번째 차원으로 이어 붙입니다.
# 기본
import torch
tensor1 = torch.tensor([[1, 2], [3, 4]])
tensor2 = torch.tensor([[5, 6], [7, 8]])
result = torch.cat((tensor1, tensor2), dim=0)
print(result)
# 출력: tensor([[1, 2],
# [3, 4],
# [5, 6],
# [7, 8]])
# 다양한 크기와 데이터 타입
import torch
# dim=1로 이어 붙이기
tensor1 = torch.tensor([[1, 2], [3, 4]])
tensor2 = torch.tensor([[5, 6], [7, 8]])
result = torch.cat((tensor1, tensor2), dim=1)
print(result)
# 출력: tensor([[1, 2, 5, 6],
# [3, 4, 7, 8]])
# 3개 이상의 텐서 결합
tensor1 = torch.tensor([1, 2])
tensor2 = torch.tensor([3, 4])
tensor3 = torch.tensor([5, 6])
result = torch.cat((tensor1, tensor2, tensor3), dim=0)
print(result)
# 출력: tensor([1, 2, 3, 4, 5, 6])
# GPU에서 텐서 결합
tensor1 = torch.tensor([[1, 2], [3, 4]], device=torch.device('cuda'))
tensor2 = torch.tensor([[5, 6], [7, 8]], device=torch.device('cuda'))
result = torch.cat((tensor1, tensor2), dim=0)
print(result)
# 출력: tensor([[1, 2],
# [3, 4],
# [5, 6],
# [7, 8]], device='cuda:0')
라이센스
PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
관련 내용
[PyTorch] 차원을 추가하라: torch.unsqueeze() 함수 사용법 이해하기
[PyTorch] 차원을 줄여라: torch.squeeze() 함수 사용법 이해하기
반응형
'함수 설명 > 인공지능 (Pytorch)' 카테고리의 다른 글
[PyTorch] 텐서 펼치기: torch.flatten() 사용 가이드 (0) | 2024.07.19 |
---|---|
[PyTorch] 차원을 추가하여 텐서 쌓기: torch.stack() 함수 활용법 (0) | 2024.07.19 |
[PyTorch] 단위 행렬 만들기: torch.eye() 함수 활용법 (0) | 2024.07.19 |
[PyTorch] 랜덤 정수 생성의 비밀: torch.randint() 함수 활용법 (0) | 2024.07.17 |
[PyTorch] 정규분포 랜덤의 마법: torch.randn() 함수 활용법 (0) | 2024.07.17 |