torch.hsplit#
- torch.hsplit(input, indices_or_sections) List of Tensors #
根据
indices_or_sections
将input
(一个或多个维度的张量)水平分割成多个张量。每个分割都是input
的一个视图。如果
input
是一个维度,这等同于调用 torch.tensor_split(input, indices_or_sections, dim=0)(分割维度为零),如果input
有两个或多个维度,则等同于调用 torch.tensor_split(input, indices_or_sections, dim=1)(分割维度为 1),不同之处在于,如果indices_or_sections
是一个整数,它必须能被分割维度整除,否则将抛出运行时错误。此函数基于 NumPy 的
numpy.hsplit()
。- 参数
input (Tensor) – 要分割的张量。
indices_or_sections (int 或 list 或 tuple of ints) – 请参阅
torch.tensor_split()
中的参数。
示例
>>> t = torch.arange(16.0).reshape(4,4) >>> t tensor([[ 0., 1., 2., 3.], [ 4., 5., 6., 7.], [ 8., 9., 10., 11.], [12., 13., 14., 15.]]) >>> torch.hsplit(t, 2) (tensor([[ 0., 1.], [ 4., 5.], [ 8., 9.], [12., 13.]]), tensor([[ 2., 3.], [ 6., 7.], [10., 11.], [14., 15.]])) >>> torch.hsplit(t, [3, 6]) (tensor([[ 0., 1., 2.], [ 4., 5., 6.], [ 8., 9., 10.], [12., 13., 14.]]), tensor([[ 3.], [ 7.], [11.], [15.]]), tensor([], size=(4, 0)))