Fonction torch.hsplit de PyTorch
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}")
# 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]])
Autres extensions