torch.narrow()

官方文档:

def narrow(self: Tensor, dim: _int, start: _int, length: _int) -> Tensor:

函数作用:

:将第dim维缩短,也就是切片。

比如是5行5列的矩阵,我们只需要其中的第3到4行
start为2,起始是第三行
length为2,一共需要切出两行

函数参数:

input (Tensor) – 需要被操作的Tensor

dim (int) – 需要被压缩的维度(可以用行,列来类比)

start (int) – 从哪一维(可以用行,列来类比)开始

length (int) – 需要切片的长度

举例实现:

首先输入5行五列的矩阵,然后输出看一下

x = torch.tensor([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15],[16, 17, 18, 19, 20],[21, 22, 23, 24, 25]])
print(x)
print(x.size())

输出结果:
在这里插入图片描述
我们使用torch.narrow()的函数来取出这个矩阵的第三四行
相当于对矩阵 x 将第0维切片,从第三行开始,长度为2

y = torch.narrow(x,0,2,2)
print(y)
print(y.size())

输出结果:
在这里插入图片描述
如果要对列进行切片,比如需要将1,2,1列切出来
只需要修改一下参数,dim改为1,start从0开始,length长度为3

z = torch.narrow(x,1,0,3)
print(z)
print(z.size())

输出结果:
在这里插入图片描述

总结:

对输入的Tensor x 的第 dim 维度进行压缩/切片,
从start开始,长度为length。其他维度不变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值