Fonction torch.broadcast_tensors de PyTorch
Manuel de référence Pytorch torch
torch.broadcast_tensorsC'est une fonction de PyTorch utilisée pour diffuser plusieurs tenseurs. Elle diffuse les tenseurs d'entrée vers la même forme et renvoie un ensemble de tenseurs sur lesquels des opérations élément par élément peuvent être effectuées. Les règles de diffusion suivent le mécanisme de diffusion de NumPy.
Définition de fonction
torch.broadcast_tensors(*tensors)
Exemples d’utilisation
Exemple
import torch
# Diffusion de tenseurs de formes différentes
x = torch.tensor([[1, 2, 3]]) # Forme (1, 3)
y = torch.tensor([[1], [2], [3]]) # Forme (3, 1)
a, b = torch.broadcast_tensors(x, y)
print("forme de x après diffusion :", a.shape)
print("forme de y après diffusion :", b.shape)
print("x après diffusion :")
print(a)
print("y après diffusion :")
print(b)
print("Somme élément par élément :")
print(a + b)
# Plusieurs tenseurs
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("Forme après diffusion :", r1.shape)
# Diffusion de tenseurs de formes différentes
x = torch.tensor([[1, 2, 3]]) # Forme (1, 3)
y = torch.tensor([[1], [2], [3]]) # Forme (3, 1)
a, b = torch.broadcast_tensors(x, y)
print("forme de x après diffusion :", a.shape)
print("forme de y après diffusion :", b.shape)
print("x après diffusion :")
print(a)
print("y après diffusion :")
print(b)
print("Somme élément par élément :")
print(a + b)
# Plusieurs tenseurs
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("Forme après diffusion :", r1.shape)
Autres extensions