Función PyTorch torch.unflatten
Manual de referencia de Pytorch torch
torch.unflattenEs una función de PyTorch que se utiliza para expandir dimensiones. Expande una dimensión existente de un tensor en múltiples dimensiones, para reconstruir la forma del tensor.
Definición de la función
torch.unflatten(input, dim, sizes)
Descripción de parámetros:
input: tensor de entradadim: índice de la dimensión a expandirsizes: tupla de dimensiones después de expandir
Ejemplo de uso
Ejemplo
import torch
# Crear un tensor unidimensional
x = torch.arange(12)
# Expandir a una matriz de 3x4
y = torch.unflatten(x, dim=0, sizes=(3, 4))
print(y.shape)
print(y)
# Crear un tensor unidimensional
x = torch.arange(12)
# Expandir a una matriz de 3x4
y = torch.unflatten(x, dim=0, sizes=(3, 4))
print(y.shape)
print(y)
El resultado de salida es:
torch.Size([3, 4])
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
Ejemplo
import torch
# Crear un tensor aplanado
x = torch.randn(24)
# Expandir a un tensor tridimensional de 2x3x4
y = torch.unflatten(x, dim=0, sizes=(2, 3, 4))
print(y.shape)
# Crear un tensor aplanado
x = torch.randn(24)
# Expandir a un tensor tridimensional de 2x3x4
y = torch.unflatten(x, dim=0, sizes=(2, 3, 4))
print(y.shape)
El resultado de salida es:
torch.Size([2, 3, 4])
Ejemplo
import torch
# Crear un tensor aplanado
x = torch.randn(12)
# Se puede especificar la dimensión por nombre
x = x.rename('N')
y = torch.unflatten(x, dim='N', sizes=(3, 4))
print(y.shape)
# Crear un tensor aplanado
x = torch.randn(12)
# Se puede especificar la dimensión por nombre
x = x.rename('N')
y = torch.unflatten(x, dim='N', sizes=(3, 4))
print(y.shape)
El resultado de salida es:
torch.Size([3, 4])
Otras extensiones