Функция PyTorch torch.vsplit
Справочное руководство Pytorch torch
torch.vsplitявляется функцией в PyTorch, используемой для вертикального разбиения тензоров (по строкам).
Определение функции
torch.vsplit(input, indices_or_sections)
Пример использования
Пример
import torch
# Вертикальное разбиение 2D-тензора
x = torch.arange(12).reshape(4, 3)
print("Исходный 2D-тензор:")
print(x)
result = torch.vsplit(x, 2)
print("Разделить равномерно на 2 части по строкам:")
for i, t in enumerate(result):
print(f" Блок {i}:n{t}")
# Разделение по индексу
result = torch.vsplit(x, [1, 3])
print("nРазделить по индексу [1, 3]:")
for i, t in enumerate(result):
print(f" Блок {i}:n{t}")
# Вертикальное разбиение 3D-тензора
y = torch.arange(24).reshape(4, 3, 2)
print("n3D-тензор:")
print(y)
result = torch.vsplit(y, 2)
print("nРазделить на 2 части по первому измерению:")
for i, t in enumerate(result):
print(f" Блок {i}: {t.shape}")
# Вертикальное разбиение 2D-тензора
x = torch.arange(12).reshape(4, 3)
print("Исходный 2D-тензор:")
print(x)
result = torch.vsplit(x, 2)
print("Разделить равномерно на 2 части по строкам:")
for i, t in enumerate(result):
print(f" Блок {i}:n{t}")
# Разделение по индексу
result = torch.vsplit(x, [1, 3])
print("nРазделить по индексу [1, 3]:")
for i, t in enumerate(result):
print(f" Блок {i}:n{t}")
# Вертикальное разбиение 3D-тензора
y = torch.arange(24).reshape(4, 3, 2)
print("n3D-тензор:")
print(y)
result = torch.vsplit(y, 2)
print("nРазделить на 2 части по первому измерению:")
for i, t in enumerate(result):
print(f" Блок {i}: {t.shape}")
Результат вывода:
原始二维张量:
tensor([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11]])
沿行平均分为 2 份:
块 0:
tensor([[0, 1, 2],
[3, 4, 5]])
Chunk 1:
tensor([[ 6, 7, 8],
[ 9, 10, 11]])
按索引 [1, 3] 分割:
块 0:
tensor([[0, 1, 2]])
Chunk 1:
tensor([[3, 4, 5],
[6, 7, 8]])
Chunk 2:
tensor([[ 9, 10, 11]])
三维张量:
tensor([[[ 0, 1],
[ 3, 4],
[ 5, 6]],
[[ 7, 8],
[ 9, 10],
[11, 12]],
[[13, 14],
[15, 16],
[17, 18]],
[[19, 20],
[21, 22],
[23, 24]]])
沿第一维分为 2 份:
块 0: torch.Size([2, 3, 2])
Chunk 1: torch.Size([2, 3, 2])
Другие расширения