gpt4 book ai didi

numpy - 如何索引/切片未知维度的 PyTorch 张量/numpy 数组的最后一个维度

转载 作者:行者123 更新时间:2023-12-03 16:11:43 25 4
gpt4 key购买 nike

例如,如果我有一个 2D 张量 X,我可以对 X[:,1:]; 进行切片。如果我有一个 3D 张量 Y,那么我可以对像 Y[:,:,1:] 这样的最后一个维度进行类似的切片。

当给定未知维度的张量 Z 时,进行切片的正确方法是什么?
一个numpy数组怎么样?

谢谢!

最佳答案

PyTorch 支持类似 NumPy 的索引,因此您可以使用 Ellipsis ( ... )

>>> z[..., -1:]
示例 :
>>> x                     # (2,2) tensor
tensor([[0.5385, 0.9280],
[0.8937, 0.0423]])
>>> x[..., -1:]
tensor([[0.9280],
[0.0423]])
>>> y                     # (2,2,2) tensor
tensor([[[0.5610, 0.8542],
[0.2902, 0.2388]],

[[0.2440, 0.1063],
[0.7201, 0.1010]]])
>>> y[..., -1:]
tensor([[[0.8542],
[0.2388]],

[[0.1063],
[0.1010]]])
  • Ellipsis ( ... ) 扩展为 : 的数量选择元组索引所有维度所需的对象。在大多数情况下,这意味着扩展选择元组的长度是 x.ndim .可能只存在一个省略号。
  • 关于numpy - 如何索引/切片未知维度的 PyTorch 张量/numpy 数组的最后一个维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60406366/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com