Fonction torch.hsplit de PyTorch


Pytorch torch 参考手册Manuel de référence torch de Pytorch

torch.hsplitIl s'agit d'une fonction dans PyTorch utilisée pour découper des tenseurs horizontalement (le long des colonnes).

Définition de fonction

torch.hsplit(input, indices_or_sections)

Exemple d'utilisation

Exemple

import torch

# Découpage horizontal d'un tenseur 1D
x = torch.arange(10)
print("Tenseur 1D original :")
print(x)

result = torch.hsplit(x, 2)
print("Découpage en 2 parties égales :")
for i, t in enumerate(result):
    print(f" Bloc {i} : {t}")

# Découpage horizontal d'un tenseur 2D
y = torch.arange(12).reshape(3, 4)
print("\nTenseur 2D original :")
print(y)

result = torch.hsplit(y, 2)
print("Découpage en 2 parties le long des colonnes :")
for i, t in enumerate(result):
    print(f" Bloc {i} :\n{t}")

# Diviser par indices
result = torch.hsplit(y, [1, 3])
print("\nDécoupage selon les indices [1, 3] :")
for i, t in enumerate(result):
    print(f" Bloc {i} :\n{t}")

Le résultat de sortie est:

原始一维张量:
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 参考手册Manuel de référence torch de Pytorch

Autres extensions