Fonction torch.broadcast_to de PyTorch
Manuel de référence Pytorch torch
torch.broadcast_toIl s'agit d'une fonction de PyTorch utilisée pour diffuser un tenseur vers une forme spécifiée. Elle renvoie une vue du tenseur d'entrée diffusé vers la forme cible. Les règles de diffusion suivent le mécanisme de diffusion de NumPy.
Définition de fonction
torch.broadcast_to(input, shape)
Exemple d'utilisation
Exemple
import torch
# Utilisation de base: diffuser un tenseur 1-D vers 2-D
x = torch.tensor([1, 2, 3])
y = torch.broadcast_to(x, (3, 3))
print("Original:", x)
print("Après diffusion:")
print(y)
# tensor([[1, 2, 3],
# [1, 2, 3],
# [1, 2, 3]])
# Diffuser un scalaire vers une forme plus grande
x = torch.tensor(5)
y = torch.broadcast_to(x, (2, 3, 4))
print("Diffusion d'un scalaire vers (2,3,4):", y.shape)
# Diffuser un tenseur 2-D vers 3-D
x = torch.tensor([[1, 2], [3, 4]]) # (2, 2)
y = torch.broadcast_to(x, (3, 2, 2))
print("Diffusion vers (3,2,2):", y.shape)
print(y)
# Utilisation de base: diffuser un tenseur 1-D vers 2-D
x = torch.tensor([1, 2, 3])
y = torch.broadcast_to(x, (3, 3))
print("Original:", x)
print("Après diffusion:")
print(y)
# tensor([[1, 2, 3],
# [1, 2, 3],
# [1, 2, 3]])
# Diffuser un scalaire vers une forme plus grande
x = torch.tensor(5)
y = torch.broadcast_to(x, (2, 3, 4))
print("Diffusion d'un scalaire vers (2,3,4):", y.shape)
# Diffuser un tenseur 2-D vers 3-D
x = torch.tensor([[1, 2], [3, 4]]) # (2, 2)
y = torch.broadcast_to(x, (3, 2, 2))
print("Diffusion vers (3,2,2):", y.shape)
print(y)
Autres extensions