Fonction torch.unflatten de PyTorch
Manuel de référence PyTorch torch
torch.unflattenest une fonction de PyTorch utilisée pour déplier des dimensions. Elle étend les dimensions existantes d'un tenseur en plusieurs dimensions afin de reconstruire les formes du tenseur.
Définition de fonction
torch.unflatten(input, dim, sizes)
Description des paramètres :
input: tenseur d’entréedim: Indice de la dimension à dépliersizes: Tuple des tailles après dépliage
Exemples d'utilisation
Exemple
import torch
# Créer un tenseur unidimensionnel
x = torch.arange(12)
# Déplier en une matrice 3x4
y = torch.unflatten(x, dim=0, sizes=(3, 4))
print(y.shape)
print(y)
# Créer un tenseur unidimensionnel
x = torch.arange(12)
# Déplier en une matrice 3x4
y = torch.unflatten(x, dim=0, sizes=(3, 4))
print(y.shape)
print(y)
Le résultat de sortie est:
torch.Size([3, 4])
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
Exemple
import torch
# Créer un tenseur aplati
x = torch.randn(24)
# Déplier en un tenseur tridimensionnel 2x3x4
y = torch.unflatten(x, dim=0, sizes=(2, 3, 4))
print(y.shape)
# Créer un tenseur aplati
x = torch.randn(24)
# Déplier en un tenseur tridimensionnel 2x3x4
y = torch.unflatten(x, dim=0, sizes=(2, 3, 4))
print(y.shape)
Le résultat de sortie est:
torch.Size([2, 3, 4])
Exemple
import torch
# Créer un tenseur aplati
x = torch.randn(12)
# On peut spécifier la dimension par son nom
x = x.rename('N')
y = torch.unflatten(x, dim='N', sizes=(3, 4))
print(y.shape)
# Créer un tenseur aplati
x = torch.randn(12)
# On peut spécifier la dimension par son nom
x = x.rename('N')
y = torch.unflatten(x, dim='N', sizes=(3, 4))
print(y.shape)
Le résultat de sortie est:
torch.Size([3, 4])
Autres extensions