Pytorch中 torch.index_select(input, dim, index, out=None) → Tensor 用法

 

1.返回值和参数解释

按照官网的解释

  • return(Tensor) 该方法返回一个Tensor,输出结果是按照输入的Tensor进行索引得到
  • inputTensor)–输入张量。(原Tensor,得到的结果就是从该Tensor中产生)

  • dimint)–我们索引的维度。(常用值:0/1  表示:按行/列索引)

  • indexLongTensor)–包含要索引的索引的一维张量。(选择原Tensor某些行或者某些列)

  • outTensor可选)–输出张量。

2.使用方法以及实例

import torch

x = torch.randn(4,3)
print('x = ',x)
# x 是原Tensor
# 0 按行索引
# torch.Tensor([1,2,3]) 截取原Tensor的2,3,4 行
y = torch.index_select(x, 0, torch.LongTensor([1,2,3]))
print('y = ',y)
# 此方式得到的结果与y 相同
print(x.index_select(0,torch.LongTensor([1,2,3])))

# 1 按列索引
# torch.Tensor([0,2]) 截取原Tensor的 1,3 列
z = torch.index_select(x, 1, torch.LongTensor([0,2]))
print('z = ',z)
print(x.index_select(1,torch.LongTensor([0,2])))

结果:

x =  tensor([[ 1.4381,  1.4937,  0.1507],
        [ 1.0306, -1.8240,  0.6450],
        [ 1.5915, -0.0304, -0.5963],
        [-0.8520, -0.3590, -1.3559]])
y =  tensor([[ 1.0306, -1.8240,  0.6450],
        [ 1.5915, -0.0304, -0.5963],
        [-0.8520, -0.3590, -1.3559]])
tensor([[ 1.0306, -1.8240,  0.6450],
        [ 1.5915, -0.0304, -0.5963],
        [-0.8520, -0.3590, -1.3559]])
z =  tensor([[ 1.4381,  0.1507],
        [ 1.0306,  0.6450],
        [ 1.5915, -0.5963],
        [-0.8520, -1.3559]])
tensor([[ 1.4381,  0.1507],
        [ 1.0306,  0.6450],
        [ 1.5915, -0.5963],
        [-0.8520, -1.3559]])

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值