2017-07-01 76 views
1

我想要查找沿特定軸的張量中的非零元素的數量。有沒有可以做到這一點的PyTorch功能?查找沿aixs的張量中的非零元素的數量

我試圖在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),那麼它工作正常。任何線索,爲什麼會發生這種錯誤或錯誤的含義?

回答

1

錯誤信息的含義 - TypeError: Type Variable doesn't implement stateless method nonzero是,我們不能在autograd.Variable上使用torch.nonzero(),但只能在簡單張量上使用。另外應該注意的是,張量是無狀態的,而變量是有狀態的。