Función torch.broadcast_to de PyTorch
Manual de referencia de Pytorch torch
torch.broadcast_toEs una función en PyTorch utilizada para transmitir tensores a una forma especificada. Devuelve una vista del tensor de entrada, que se transmite a la forma objetivo. Las reglas de transmisión siguen el mecanismo de broadcast de NumPy.
Definición de la función
torch.broadcast_to(input, shape)
Ejemplo de uso
Ejemplo
import torch
# Uso básico: transmitir un tensor de 1 dimensión a 2 dimensiones
x = torch.tensor([1, 2, 3])
y = torch.broadcast_to(x, (3, 3))
print("Original:", x)
print("Después de la transmisión:")
print(y)
# tensor([[1, 2, 3],
# [1, 2, 3],
# [1, 2, 3]])
# Transmitir un escalar a una forma más grande
x = torch.tensor(5)
y = torch.broadcast_to(x, (2, 3, 4))
print("Escalar transmitido a (2,3,4):", y.shape)
# Transmitir un tensor de 2 dimensiones a 3 dimensiones
x = torch.tensor([[1, 2], [3, 4]]) # (2, 2)
y = torch.broadcast_to(x, (3, 2, 2))
print("Transmitido a (3,2,2):", y.shape)
print(y)
# Uso básico: transmitir un tensor de 1 dimensión a 2 dimensiones
x = torch.tensor([1, 2, 3])
y = torch.broadcast_to(x, (3, 3))
print("Original:", x)
print("Después de la transmisión:")
print(y)
# tensor([[1, 2, 3],
# [1, 2, 3],
# [1, 2, 3]])
# Transmitir un escalar a una forma más grande
x = torch.tensor(5)
y = torch.broadcast_to(x, (2, 3, 4))
print("Escalar transmitido a (2,3,4):", y.shape)
# Transmitir un tensor de 2 dimensiones a 3 dimensiones
x = torch.tensor([[1, 2], [3, 4]]) # (2, 2)
y = torch.broadcast_to(x, (3, 2, 2))
print("Transmitido a (3,2,2):", y.shape)
print(y)
Otras extensiones