查找张量中沿轴的非零元素数

Find number of non-zero elements in a tensor along an aixs

我想找出张量中沿特定轴的非零元素的数量。有没有 PyTorch 函数可以做到这一点?

我尝试在 PyTorch 中使用 nonzero() 方法。

torch.nonzero(losses).size(0)

这里,lossess是一个形状为64 x 1的张量。当我 运行 上面的语句时,它给了我以下错误。

TypeError: Type Variable doesn't implement stateless method nonzero

但是如果我运行,torch.nonzero(losses.data).size(0),那么它工作正常。任何线索,为什么会发生这种情况或错误意味着什么?

错误消息的含义 - TypeError: Type Variable doesn't implement stateless method nonzero 是,我们不能在 autograd.Variable 上使用 torch.nonzero(),只能在简单张量上使用。还应该注意的是,张量是无状态的,而变量是有状态的。