如何在PyTorch中检查所有梯度权重是否为零



我想知道如何检查所有PyTorch神经网络梯度权重,看看它们是否为零,是否继续训练。

这可能看起来像PyTorch:如何检查一些重量在训练中是否没有改变?但对于陷入局部极小值的问题,这实际上是一种不同的方法。我不知道应该添加什么代码,因为这似乎是一个普遍的问题,我甚至不知道如何在PyTorch中访问梯度张量。

您可以检查参数是否全部为零,如下所示:

for p in model.parameters():
if not p.all():
...