¿Cómo realizar la multiplicación por elementos en tensores en PyTorch?

En este artículo, vamos a ver cómo realizar una multiplicación por elementos en tensores en PyTorch en Python. Podemos realizar sumas por elementos usando el método torch.mul(). 

Esta función también nos permite realizar multiplicaciones en las mismas o diferentes dimensiones de tensores. Si los tensores tienen diferentes dimensiones, devolverá el tensor de mayor dimensión. también podemos multiplicar una cantidad escalar con un tensor usando la función torch.mul().  

Sintaxis: torch.mul(entrada, otro, *, salida=Ninguno)

Parámetros:

  • entrada: Este es el tensor de entrada.
  • otro: El valor o tensor que se va a multiplicar a cada elemento del tensor.
  • out: es el tensor de salida, este es un parámetro opcional.

Return: devuelve un nuevo tensor modificado.

Ejemplo 1: 

El siguiente programa es para realizar la multiplicación en dos tensores de una sola dimensión.

Python3

# import torch library
import torch
 
# define two tensors
tens_1 = torch.Tensor([1, 2, 3, 4, 5])
tens_2 = torch.Tensor([10, 20, 30, 40, 50])
 
# display tensors
print(" First Tensor: ", tens_1)
print(" Second Tensor: ", tens_2)
 
# multiply tensors
tens = torch.mul(tens_1, tens_2)
 
# display result after perform element wise multiplication
print(" After Element-wise multiplication: ", tens)

Producción:

 Primer Tensor: tensor([1., 2., 3., 4., 5.])

 Segundo Tensor: tensor([10., 20., 30., 40., 50.])

 Después de la multiplicación por elementos: tensor ([ 10., 40., 90., 160., 250.])

Ejemplo 2: 

El siguiente programa es para saber cómo multiplicar una cantidad escalar a un tensor.

Python3

# import torch library
import torch
 
# define a tensors
tens_1 = torch.Tensor([100, 200, 300, 400, 500])
 
# display tensor
print(" First Tensor: ", tens_1)
 
# multiply a scalar tensors
tens = torch.mul(tens_1, 2)
 
# display result after perform element wise multiplication
print(" After multiply 2 in tensor: ", tens)

Producción:

 Primer Tensor: tensor([100., 200., 300., 400., 500.])

 Después de multiplicar 2 en tensor: tensor([ 200., 400., 600., 800., 1000.])

Ejemplo 3: 

El siguiente programa es para realizar multiplicaciones por elementos en tensores 2D.

Python3

# import torch
import torch
 
# Define two 2D tensors
tens_1 = torch.Tensor([[10, 20], [30, 40]])
tens_2 = torch.Tensor([[1, 2], [3, 4]])
 
# display tensors
print(" First tensor:  ", tens_1)
print(" Second tensor:  ", tens_2)
 
# Multiply above two 2-D tensors
tens = torch.mul(tens_1, tens_2)
print(" After multiply 2D tensors: ", tens)

Producción:

First tensor:   tensor([[10., 20.],[30., 40.]])
 Second tensor:   tensor([[1., 2.],[3., 4.]])
 After multiply 2D tensors:  tensor([[ 10.,  40.],[ 90., 160.]])

Ejemplo 4:

El siguiente programa es para mostrar cómo realizar la multiplicación por elementos en dos tensores de dimensión diferentes.

Python3

# import torch
import torch
 
# Define two 2D tensors
tens_1 = torch.Tensor([[10, 20], [30, 40]])
tens_2 = torch.Tensor([2, 4])
 
# display tensors
print(" 2D tensor: ", tens_1)
print(" 1D tensor:  ", tens_2)
 
# Multiply above two 2-D tensors
tens = torch.mul(tens_1, tens_2)
print(" After multiply tensors: ", tens)

Producción:

 2D tensor:  tensor([[10., 20.],
        [30., 40.]])
 1D tensor:   tensor([2., 4.])
 After multiply tensors:  tensor([[ 20.,  80.],
        [ 60., 160.]])

Publicación traducida automáticamente

Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *