(Pytorch)判断一个tensor中是否存在nan

文章目录

      • isnan+any

import torch

有的时候写代码会遇到nan的情况,遇到这种情况你肯定要去解决的,说明你代码有问题。如果你不解决,大概率由于模型前向传播+训练导致模型中所有tensor都是nan,甚至中途就报错了。

nan的原因有非常之多,这里就不介绍了,大家可以看看模型的权值以及loss或者中间变量变成了nan怎么回事。

我们首要是对一些你认为关键的tensor变量进行检测是否为nan,然后停下来,进一步分析nan的原因。那么如何检测呢?

isnan+any

assert not torch.any(torch.isnan(tensor))

你可能感兴趣的:(Pytorch简单,pytorch,人工智能,python)