Tensor-判断tensor中是否存在NAN, inf

在用torch搭建深度学习模型时,很容易在数据中存在inf与nan的情况,对应的数据类型分别时torch.inf与torch.nan。
大多数情况下,产生nan数据的原因基本上是出现了分母为0的情况,所以需要检查张量计算过程中是否有除法运算,比如softmax就有除法。
判断一个张量中是否有nan值:

torch.isnan(tensor).any() # 有一个True(非NAN)则都为 True
torch.isnan(tensor).all() # 有一个 NAN 则为 False

与之类似,用tensor.isinf()方法也可以查看有没有无穷数在张量里。

torch.isinf(tensor).any()
torch.isinf(tensor).all()

————————————————

原文链接:https://blog.csdn.net/weixin_43483381/article/details/121864858

posted @ 2022-03-05 15:18  ArdenWang  阅读(4603)  评论(0编辑  收藏  举报