Функция torch.hsplit в PyTorch


Pytorch torch 参考手册Справочное руководство Pytorch torch

torch.hsplitЭто функция в PyTorch, используемая для разделения тензоров горизонтально (по столбцам).

Определение функции

torch.hsplit(input, indices_or_sections)

Пример использования

Пример

import torch

# Горизонтальное разделение 1D-тензора
x = torch.arange(10)
print("Исходный 1D-тензор:")
print(x)

result = torch.hsplit(x, 2)
print("Разделение на 2 равные части:")
for i, t in enumerate(result):
    print(f" Блок {i}: {t}")

# Горизонтальное разделение 2D-тензора
y = torch.arange(12).reshape(3, 4)
print("\nИсходный 2D-тензор:")
print(y)

result = torch.hsplit(y, 2)
print("Разделение на 2 части по столбцам:")
for i, t in enumerate(result):
    print(f" Блок {i}:\n{t}")

# Разделение по индексам
result = torch.hsplit(y, [1, 3])
print("\nРазделение по индексам [1, 3]:")
for i, t in enumerate(result):
    print(f" Блок {i}:\n{t}")

Результат вывода:

原始一维张量:
tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
平均分为 2 份:
  块 0: tensor([0, 1, 2, 3, 4])
  Chunk 1: tensor([5, 6, 7, 8, 9])

原始二维张量:
tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]])
沿列分为 2 份:
  块 0:
tensor([[0, 1],
        [4, 5],
        [8, 9]])
  Chunk 1:
tensor([[ 2,  3],
        [ 6,  7],
        [10, 11]])

按索引 [1, 3] 分割:
  块 0:
tensor([[0],
        [4],
        [8]])
  Chunk 1:
tensor([[ 1,  2],
        [ 5,  6],
        [ 9, 10]])
  Chunk 2:
tensor([[ 3],
        [ 7],
        [11]])

Pytorch torch 参考手册Справочное руководство Pytorch torch

Другие расширения