本文主要是介绍对tensor的处理函数:expand_as(尺寸扩展),nonzero(获取非零元素索引),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- Tensor.expand_as(other)
扩展tensor到与other相同的尺寸
- torch.nonzero(input, as_tuple=False) 或 Tensor.nonzero()
返回input中非零元素的索引 indices
1)as_tuple = False:返回的结果是tensor,z × \times ×n,z为input中非零元素个数,n为input的维数
2)as_tuple = False:返回的结果是tuple(tensor),即元组,元组内包含n个tensor(n为input的维数),每个tensor的size为z,z为input中非零元素个数
>>> torch.nonzero(torch.tensor([1, 1, 1, 0, 1]))
tensor([[ 0],[ 1],[ 2],[ 4]])
>>> torch.nonzero(torch.tensor([[0.6, 0.0, 0.0, 0.0],
... [0.0, 0.4, 0.0, 0.0],
... [0.0, 0.0, 1.2, 0.0],
... [0.0, 0.0, 0.0,-0.4]]))
tensor([[ 0, 0],[ 1, 1],[ 2, 2],[ 3, 3]])
>>> torch.nonzero(torch.tensor([1, 1, 1, 0, 1]), as_tuple=True)
(tensor([0, 1, 2, 4]),)
>>> torch.nonzero(torch.tensor([[0.6, 0.0, 0.0, 0.0],
... [0.0, 0.4, 0.0, 0.0],
... [0.0, 0.0, 1.2, 0.0],
... [0.0, 0.0, 0.0,-0.4]]), as_tuple=True)
(tensor([0, 1, 2, 3]), tensor([0, 1, 2, 3]))
>>> torch.nonzero(torch.tensor(5), as_tuple=True)
(tensor([0]),)
这篇关于对tensor的处理函数:expand_as(尺寸扩展),nonzero(获取非零元素索引)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!