Функция torch.unflatten в PyTorch
Справочное руководство PyTorch torch
torch.unflatten— это функция в PyTorch, используемая для разуплотнения размерностей. Она разворачивает существующие размерности тензора в несколько размерностей, чтобы восстановить форму тензора.
Определение функции
torch.unflatten(input, dim, sizes)
Описание параметров:
input: Входной тензорdim: индекс размерности для разуплотненияsizes: кортеж размеров после разуплотнения
Примеры использования
Пример
import torch
# Создать одномерный тензор
x = torch.arange(12)
# Развернуть в матрицу 3x4
y = torch.unflatten(x, dim=0, sizes=(3, 4))
print(y.shape)
print(y)
# Создать одномерный тензор
x = torch.arange(12)
# Развернуть в матрицу 3x4
y = torch.unflatten(x, dim=0, sizes=(3, 4))
print(y.shape)
print(y)
Результат вывода:
torch.Size([3, 4])
tensor([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
Пример
import torch
# Создать уплощённый тензор
x = torch.randn(24)
# Развернуть в трёхмерный тензор 2x3x4
y = torch.unflatten(x, dim=0, sizes=(2, 3, 4))
print(y.shape)
# Создать уплощённый тензор
x = torch.randn(24)
# Развернуть в трёхмерный тензор 2x3x4
y = torch.unflatten(x, dim=0, sizes=(2, 3, 4))
print(y.shape)
Результат вывода:
torch.Size([2, 3, 4])
Пример
import torch
# Создать уплощённый тензор
x = torch.randn(12)
# Можно указать размерность по имени
x = x.rename('N')
y = torch.unflatten(x, dim='N', sizes=(3, 4))
print(y.shape)
# Создать уплощённый тензор
x = torch.randn(12)
# Можно указать размерность по имени
x = x.rename('N')
y = torch.unflatten(x, dim='N', sizes=(3, 4))
print(y.shape)
Результат вывода:
torch.Size([3, 4])
Другие расширения