pytorch中index_select()的用法

112 篇文章 7 订阅
68 篇文章 6 订阅

如图所示,使用linspace生成如下(3 × 4)的矩阵,共12个数
在这里插入图片描述

a = torch.linspace(1, 12, steps=12).view(3, 4)
print(a)

运行结果:

a:
tensor([[ 1., 2., 3., 4.],
[ 5., 6., 7., 8.],
[ 9., 10., 11., 12.]])

说明:dim = 0,表示行;dim=1,表示列
以下代码的效果是:获取维度为0的第0行和第2行元素,运行结果如下图所示:

b = torch.index_select(a, dim=0, index=torch.tensor([0, 2]))
print(b)

b:
tensor([[ 1., 2., 3., 4.],
[ 9., 10., 11., 12.]])

相同运行结果的不同实现方式

print(a.index_select(0, torch.tensor([0, 2])))

获取a中dim=1的第一列和第三列

c = torch.index_select(a, dim=1, index = torch.tensor([1, 3]))
print(c)

运行结果:

tensor
([[ 2., 4.],
[ 6., 8.],
[10., 12.]])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值