torch.narrow_copy¶
- torch.narrow_copy(input, dim, start, length, *, out=None) Tensor ¶
与
Tensor.narrow()
相同,但此操作返回的是副本而不是共享存储。这主要用于稀疏张量,因为它们没有共享存储的窄化方法。- 参数:
输入(张量)- 要窄化的张量
dim(整数)- 窄化操作的维度
start(整数)- 窄化维度的起始元素索引。可以是负数,表示从 dim 的末尾开始索引
长度(int)- 窄化维度的长度,必须是弱正数
- 关键字参数:
输出(张量,可选)- 输出张量。
示例:
>>> x = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) >>> torch.narrow_copy(x, 0, 0, 2) tensor([[ 1, 2, 3], [ 4, 5, 6]]) >>> torch.narrow_copy(x, 1, 1, 2) tensor([[ 2, 3], [ 5, 6], [ 8, 9]]) >>> s = torch.arange(16).reshape(2, 2, 2, 2).to_sparse(2) >>> torch.narrow_copy(s, 0, 0, 1) tensor(indices=tensor([[0, 0], [0, 1]]), values=tensor([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]), size=(1, 2, 2, 2), nnz=2, layout=torch.sparse_coo)
参见
torch.narrow()
用于非复制变体