PyTorch torch.hsplit función
Manual de referencia de Pytorch torch
torch.hsplitEs una función de PyTorch utilizada para dividir tensores horizontalmente (a lo largo de las columnas).
Definición de la función
torch.hsplit(input, indices_or_sections)
Ejemplo de uso
Ejemplo
import torch
# División horizontal de un tensor unidimensional
x = torch.arange(10)
print("Tensor unidimensional original:")
print(x)
result = torch.hsplit(x, 2)
print("Dividido en 2 partes iguales:")
for i, t in enumerate(result):
print(f" Bloque {i}: {t}")
# División horizontal de un tensor bidimensional
y = torch.arange(12).reshape(3, 4)
print("nTensor bidimensional original:")
print(y)
result = torch.hsplit(y, 2)
print("Dividido en 2 partes a lo largo de las columnas:")
for i, t in enumerate(result):
print(f" Bloque {i}:n{t}")
# Dividir según los índices
result = torch.hsplit(y, [1, 3])
print("nDividir según los índices [1, 3]:")
for i, t in enumerate(result):
print(f" Bloque {i}:n{t}")
# División horizontal de un tensor unidimensional
x = torch.arange(10)
print("Tensor unidimensional original:")
print(x)
result = torch.hsplit(x, 2)
print("Dividido en 2 partes iguales:")
for i, t in enumerate(result):
print(f" Bloque {i}: {t}")
# División horizontal de un tensor bidimensional
y = torch.arange(12).reshape(3, 4)
print("nTensor bidimensional original:")
print(y)
result = torch.hsplit(y, 2)
print("Dividido en 2 partes a lo largo de las columnas:")
for i, t in enumerate(result):
print(f" Bloque {i}:n{t}")
# Dividir según los índices
result = torch.hsplit(y, [1, 3])
print("nDividir según los índices [1, 3]:")
for i, t in enumerate(result):
print(f" Bloque {i}:n{t}")
El resultado de salida es:
原始一维张量:
tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
平均分为 2 份:
块 0: tensor([0, 1, 2, 3, 4])
Fragmento 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]])
Fragmento 1:
tensor([[ 2, 3],
[ 6, 7],
[10, 11]])
按索引 [1, 3] 分割:
块 0:
tensor([[0],
[4],
[8]])
Fragmento 1:
tensor([[ 1, 2],
[ 5, 6],
[ 9, 10]])
Fragmento 2:
tensor([[ 3],
[ 7],
[11]])
Otras extensiones