반응형
소개
torch.sub는 PyTorch에서 두 텐서 간의 요소별(element-wise) 뺄셈을 수행하는 함수입니다. 이 함수는 동일한 크기의 텐서끼리 빼거나, 스칼라 값을 텐서의 각 요소에서 뺄 때 사용됩니다. torch.sub는 벡터, 행렬, 다차원 텐서 등 다양한 차원의 텐서에 적용될 수 있으며, 딥러닝 모델에서 연산을 간편하게 수행하는 데 도움을 줍니다.
기본 사용법
상세 설명
- torch.sub(tensor1, tensor2)는 tensor1에서 tensor2를 요소별로 빼는 연산을 수행합니다.
- 동일한 크기의 텐서에 대해 연산이 가능하며, 브로드캐스팅을 통해 크기가 다른 텐서 간의 연산도 지원합니다.
- 스칼라 뺄셈
- 텐서에서 스칼라 값을 빼려면 torch.sub(tensor, value)를 사용할 수 있습니다.
- 이는 일정한 값을 모든 요소에서 빼야 하는 경우에 유용합니다.
- 알파 파라미터
- torch.sub(tensor1, tensor2, alpha=2)는 tensor2의 값을 2배로 늘린 후 tensor1에서 뺍니다.
- 이는 선형 조합을 간단히 수행할 수 있게 해줍니다.
예시 설명
- 첫 번째 예시에서 torch.sub(tensor1, tensor2)는 [10, 20, 30]에서 [1, 2, 3]을 빼서 [9, 18, 27]을 생성합니다.
- 두 번째 예시에서는 스칼라 값 1을 텐서 [1.0, 2.0, 3.0]의 각 요소에서 빼서 [0.0, 1.0, 2.0]을 생성합니다.
- 세 번째 예시에서는 alpha=2를 사용하여 tensor2의 값을 두 배로 늘린 후 tensor1에서 빼서 [8.0, 16.0, 24.0]을 생성합니다.
import torch
# 두 텐서 생성
tensor1 = torch.tensor([10, 20, 30])
tensor2 = torch.tensor([1, 2, 3])
# 텐서 뺄셈
result = torch.sub(tensor1, tensor2)
print(result)
# 출력: tensor([9, 18, 27])
# 스칼라 값을 텐서에서 빼기
tensor = torch.tensor([1.0, 2.0, 3.0])
result = torch.sub(tensor, 1)
print(result)
# 출력: tensor([0., 1., 2.])
# 알파 파라미터 사용 (tensor2의 값을 조정하여 뺄셈)
tensor1 = torch.tensor([10.0, 20.0, 30.0])
tensor2 = torch.tensor([1.0, 2.0, 3.0])
result = torch.sub(tensor1, tensor2, alpha=2)
print(result)
# 출력: tensor([8.0, 16.0, 24.0])
라이센스
PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
관련 내용
반응형
'함수 설명 > 인공지능 (Pytorch)' 카테고리의 다른 글
[PyTorch] 텐서 간의 나눗셈 연산: torch.div() 설명 (0) | 2024.08.24 |
---|---|
[PyTorch] 텐서 간의 곱셈 연산: torch.mul() 설명 (0) | 2024.08.24 |
[PyTorch] 텐서 간의 더하기 연산: torch.add() 설명 (0) | 2024.08.24 |
[PyTorch] 신경망의 기본 구성 요소: torch.nn.Linear() 사용 가이드 (0) | 2024.08.17 |
[PyTorch] CNN 모델의 기초: torch.nn.Conv2d() 사용 가이드 (0) | 2024.08.17 |