沿着pytorch中的轴计算非零元素

时间:2018-06-10 01:59:49

标签: count tensor

我有(32x750)张量

tensor([[ 0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000,  0.0043],
        [ 0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0000,  0.0043],
        [ 0.0000,  0.0044,  0.0000,  ...,  0.0044,  0.0000,  0.0000],
        ...,
        [ 0.0059,  0.0000,  0.0059,  ...,  0.0059,  0.0000,  0.0000],
        [ 0.0059,  0.0000,  0.0059,  ...,  0.0059,  0.0000,  0.0000],
        [ 0.0000,  0.0000,  0.0000,  ...,  0.0000,  0.0056,  0.0000]], device='cuda:0')

我想获得每行的非零元素数量。这样的事情[12 47 0 5 .... 8 7 50]discussionthis无法解决我的问题并关注1-D tensor.的非零元素数量

由于

2 个答案:

答案 0 :(得分:2)

使用此post解决了问题 我使用了:750 - (tensor == 0).sum(dim=1)

答案 1 :(得分:0)

list_of_num_nonzero_in_each_row = []
for row in my tensor:
    list_of_num_nonzero_in_each_row.append(sum(row == 0.0).item())