tensor 的索引和切片

import torch
#torch所有的元素都有编号,正索引数是从左往右,负索引是从右往左

a = torch.tensor([[1,2,3],[4,5,6],[7,8,9]],dtype=torch.float)
b = torch.tensor([[10,10,10],[10,10,10],[10,10,10]],dtype=torch.float)
print("a的值:",a)
#索引
print("a[1,2]的值",a[1,2])
print("a[-1,-1]的值:",a[-1,-1])
print("a的第一行,第一列和3的值:",a[[1],[0,2]])
print("a的大于4的索引:",a>4)            #bool索引
print("a的大于4的值:",a[a>4])
print("大于5输出a的值,否则输出b: \n",torch.where(a>5,a,b))  #条件

#切片 提取tensor中某一范围内的元素
print("a的第一列:",a[:,0])
print("a的第三列:",a[:,2])
print("a的第三列:",a[:,-1])
print("a的第1到2列:",a[:,0:2])
print("a的第一行:",a[0,:])
print("a的第二行:",a[1,:])
print("a的第后三行:",a[-1,:])
print("a的间隔行值",a[::2,::2])

a的值: tensor([[1., 2., 3.],
        [4., 5., 6.],
        [7., 8., 9.]])
a[1,2]的值 tensor(6.)
a[-1,-1]的值: tensor(9.)
a的第一行,第一列和3的值: tensor([4., 6.])
a的大于4的索引: tensor([[False, False, False],
        [False,  True,  True],
        [ True,  True,  True]])
a的大于4的值: tensor([5., 6., 7., 8., 9.])
大于5输出a的值,否则输出b: 
 tensor([[10., 10., 10.],
        [10., 10.,  6.],
        [ 7.,  8.,  9.]])
a的第一列: tensor([1., 4., 7.])
a的第三列: tensor([3., 6., 9.])
a的第三列: tensor([3., 6., 9.])
a的第1到2列: tensor([[1., 2.],
        [4., 5.],
        [7., 8.]])
a的第一行: tensor([1., 2., 3.])
a的第二行: tensor([4., 5., 6.])
a的第后三行: tensor([7., 8., 9.])
a的间隔行值 tensor([[1., 3.],
        [7., 9.]])
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值