본문 바로가기
함수 설명/인공지능 (Pytorch)

[PyTorch] 텐서 간의 곱셈 연산: torch.mul() 설명

by First Adventure 2024. 8. 24.
반응형

소개

  torch.mul은 PyTorch에서 두 텐서 간의 요소별(element-wise) 곱셈을 수행하는 함수입니다. 이 함수는 동일한 크기의 텐서끼리 곱하거나, 스칼라 값을 텐서의 각 요소에 곱할 때 사용됩니다. torch.mul은 벡터, 행렬, 다차원 텐서 등 다양한 차원의 텐서에 적용될 수 있으며, 딥러닝 모델에서 연산을 간편하게 수행하는 데 도움을 줍니다.

 

기본 사용법

상세 설명

  • torch.mul(tensor1, tensor2)는 tensor1과 tensor2의 요소별 곱셈을 수행합니다.
  • 동일한 크기의 텐서에 대해 연산이 가능하며, 브로드캐스팅을 통해 크기가 다른 텐서 간의 연산도 지원합니다.
  • 스칼라 곱셈
    • 텐서에 스칼라 값을 곱하려면 torch.mul(tensor, value)를 사용할 수 있습니다. 
    • 이는 일정한 값을 모든 요소에 곱해야 하는 경우에 유용합니다.
  • 알파 파라미터
    • torch.mul은 단순한 곱셈 연산이므로 알파 파라미터가 따로 제공되지 않으며, 필요할 경우 tensor2를 먼저 조정한 후 곱할 수 있습니다.

예시 설명

  • 첫 번째 예시에서 torch.mul(tensor1, tensor2)는 [1, 2, 3]과 [4, 5, 6]을 곱하여 [4, 10, 18]을 생성합니다.
  • 두 번째 예시에서는 스칼라 값 10을 텐서 [1.0, 2.0, 3.0]의 각 요소에 곱하여 [10.0, 20.0, 30.0]을 생성합니다.
  • 세 번째 예시에서는 두 텐서 [2.0, 4.0, 6.0]과 [1.0, 0.5, 0.25]을 곱하여 [2.0, 2.0, 1.5]을 생성합니다.
import torch

# 두 텐서 생성
tensor1 = torch.tensor([1, 2, 3])
tensor2 = torch.tensor([4, 5, 6])

# 텐서 곱하기
result = torch.mul(tensor1, tensor2)
print(result)
# 출력: tensor([ 4, 10, 18])

# 스칼라 값을 텐서에 곱하기
tensor = torch.tensor([1.0, 2.0, 3.0])
result = torch.mul(tensor, 10)
print(result)
# 출력: tensor([10., 20., 30.])

# 두 텐서의 곱과 추가 스칼라 값 곱하기
tensor1 = torch.tensor([2.0, 4.0, 6.0])
tensor2 = torch.tensor([1.0, 0.5, 0.25])
result = torch.mul(tensor1, tensor2)
print(result)
# 출력: tensor([2.0, 2.0, 1.5])

 

라이센스

  PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.

 

관련 내용

  

 

반응형