반응형
소개
torch.mm은 PyTorch에서 두 2차원 텐서(행렬) 간의 행렬 곱셈(matrix multiplication)을 수행하는 함수입니다. 이 함수는 두 개의 2D 텐서(즉, 행렬) 간의 곱셈을 처리하며, 행렬 곱셈 연산을 간단하게 수행할 수 있게 해줍니다. torch.mm은 행렬 간의 곱셈을 수행하는 가장 기본적인 함수로, 특히 선형 대수학과 딥러닝에서 많이 사용됩니다.
기본 사용법
상세 설명
- 기본 행렬 곱셈
- torch.mm(tensor1, tensor2)는 두 개의 2D 텐서 간의 행렬 곱셈을 수행합니다. 이 함수는 2차원 텐서(행렬) 간의 곱셈에 특화되어 있으며, 1차원 또는 3차원 이상의 텐서에서는 사용할 수 없습니다.
- 유효한 행렬 차원
- 행렬 곱셈을 수행하려면 첫 번째 행렬의 열 수와 두 번째 행렬의 행 수가 같아야 합니다. 그렇지 않으면 오류가 발생합니다.
- torch.mm은 2D 텐서에만 적용되므로, 벡터 또는 고차원 텐서와의 곱셈에는 사용할 수 없습니다. 이러한 경우에는 torch.matmul 또는 torch.bmm와 같은 다른 함수를 사용해야 합니다.
예시 설명
- 첫 번째 예시에서 torch.mm(tensor1, tensor2)는 두 2x2 행렬을 곱하여 새로운 2x2 행렬을 생성합니다. 이 행렬 곱셈 연산은 다음과 같이 계산됩니다:
- 첫 번째 행렬의 첫 번째 행과 두 번째 행렬의 첫 번째 열을 곱하여 결과 행렬의 첫 번째 요소를 얻습니다: 1∗5+2∗7=19.
- 첫 번째 행렬의 첫 번째 행과 두 번째 행렬의 두 번째 열을 곱하여 결과 행렬의 두 번째 요소를 얻습니다: 1∗6+2∗8=22.
- 두 번째 행렬의 첫 번째 행과 두 번째 행렬의 첫 번째 열을 곱하여 결과 행렬의 세 번째 요소를 얻습니다: .
- 두 번째 행렬의 첫 번째 행과 두 번째 행렬의 두 번째 열을 곱하여 결과 행렬의 네 번째 요소를 얻습니다: .
import torch
# 두 2D 텐서(행렬) 생성
tensor1 = torch.tensor([[1, 2], [3, 4]])
tensor2 = torch.tensor([[5, 6], [7, 8]])
# 행렬 곱셈
result = torch.mm(tensor1, tensor2)
print(result)
# 출력: tensor([[19, 22],
# [43, 50]])
라이센스
PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
관련 내용
반응형
'함수 설명 > 인공지능 (Pytorch)' 카테고리의 다른 글
[PyTorch] 텐서의 자연 로그 계산: torch.log() 설명 (0) | 2024.08.25 |
---|---|
[PyTorch] 배치(batch) 단위의 행렬 곱셈: torch.bmm() 설명 (0) | 2024.08.24 |
[PyTorch] 텐서 간의 행렬 곱셈: torch.matmul() 설명 (0) | 2024.08.24 |
[PyTorch] 텐서 간의 나눗셈 연산: torch.div() 설명 (0) | 2024.08.24 |
[PyTorch] 텐서 간의 곱셈 연산: torch.mul() 설명 (0) | 2024.08.24 |