x = torch.randint(0,10,(2,3,4))
print(x)
print(x[...,:2]==x[:,:,:2])# 当x有3个维度时,这二者相等。
x[…, :2] # 前面的维度都取,最后一个维度只取前两个元素。
x = torch.randint(0,10,(2,3,4))
print(x)
print('*** 单个元素 ***')
print(x[...,1],x[...,1].shape)
print('*** 多个元素 ***')
print(x[...,:2],x[...,:2].shape)
输出情况。只取单个元素时,变量的维度数减少了1个。取多个元素时,维度数不变
tensor([[[9, 1, 4, 6],
[7, 0, 7, 1],
[7, 1, 8, 5]],
[[7, 8, 3, 9],
[6, 9, 0, 2],
[8, 5, 3, 1]]])
*** 单个元素 ***
tensor([[1, 0, 1],
[8, 9, 5]]) torch.Size([2, 3])
*** 多个元素 ***
tensor([[[9, 1],
[7, 0],
[7, 1]],
[[7, 8],
[6, 9],
[8, 5]]]) torch.Size([2, 3, 2])
本文详细介绍了PyTorch中使用Ellipsis(...)选取张量元素的方法,并通过实例展示了如何利用该语法选取单个及多个元素,以及其对张量维度的影响。
437

被折叠的 条评论
为什么被折叠?



