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.]])