pytorch——索引和切片

用:索引和原生python没有什么区别,在这里就不写了

index_select

a=torch.randn(4,3,28,28)
print(a.index_select(0,torch.IntTensor([0,2])).shape)

index_select方法第一个参数表示在哪一维度上操作,第二个参数表示要找这一个维度上的范围,第二个参数必须是一个张量,不能是list

用…索引

a=torch.randn(4,3,28,28)
print(a[...].shape)
print(a[0,...].shape)
print(a[:,1,...].shape)
print(a[...,:2].shape)

看结果应该就能明白
pytorch——索引和切片_第1张图片

mask索引

会把张量展平

x=torch.randn(3,4)
print(x)
mask=x.ge(0.5) # 大于0.5的位置标记ture
print(mask)
print(torch.masked_select(x,mask)) # 把mask标记为ture的地方的值拿出来
print(torch.masked_select(x,mask).shape)

pytorch——索引和切片_第2张图片

torch.take

将向量展平

你可能感兴趣的:(深度学习笔记,深度学习,python)