Función torch.broadcast_tensors de PyTorch
Manual de referencia de Pytorch torch
torch.broadcast_tensorsEs una función de PyTorch utilizada para transmitir (broadcasting) múltiples tensores. Transmite los tensores de entrada a la misma forma y devuelve un conjunto de tensores que se pueden operar elemento a elemento. Las reglas de transmisión siguen el mecanismo de broadcasting de NumPy.
Definición de la función
torch.broadcast_tensors(*tensors)
Ejemplo de uso
Ejemplo
import torch
# Broadcasting de tensores con diferentes formas
x = torch.tensor([[1, 2, 3]]) # Forma (1, 3)
y = torch.tensor([[1], [2], [3]]) # Forma (3, 1)
a, b = torch.broadcast_tensors(x, y)
print(Forma de x después del broadcasting:, a.shape)
print(Forma de y después del broadcasting:, b.shape)
print(x después del broadcasting:)
print(a)
print(y después del broadcasting:)
print(b)
print(Suma elemento a elemento:)
print(a + b)
# Múltiples tensores
x1 = torch.randn(3, 1, 5)
x2 = torch.randn(1, 4, 5)
x3 = torch.randn(3, 4, 1)
r1, r2, r3 = torch.broadcast_tensors(x1, x2, x3)
print(Forma después del broadcasting:, r1.shape)
# Broadcasting de tensores con diferentes formas
x = torch.tensor([[1, 2, 3]]) # Forma (1, 3)
y = torch.tensor([[1], [2], [3]]) # Forma (3, 1)
a, b = torch.broadcast_tensors(x, y)
print(Forma de x después del broadcasting:, a.shape)
print(Forma de y después del broadcasting:, b.shape)
print(x después del broadcasting:)
print(a)
print(y después del broadcasting:)
print(b)
print(Suma elemento a elemento:)
print(a + b)
# Múltiples tensores
x1 = torch.randn(3, 1, 5)
x2 = torch.randn(1, 4, 5)
x3 = torch.randn(3, 4, 1)
r1, r2, r3 = torch.broadcast_tensors(x1, x2, x3)
print(Forma después del broadcasting:, r1.shape)
Otras extensiones