釉她 发表于 2025-7-21 16:30:23

关于nan的大小判定规则

技术背景

在Numpy或PyTorch框架编程的过程中,如果有计算异常,可能会存在NAN这样的一个东西,也就是not a number。这不是一个常规的数字,但是也可以参与计算,例如加和、比较等等。本文通过一个简单的示例,展示一下PyTorch框架下,NAN的计算规则。
代码示例

如下是一个简单的示例:
In : import torch as tc

In : tc.nan
Out: nan

In : a = tc.tensor()

In : a
Out: tensor()

In : a.max()
Out: tensor(nan)

In : a.min()
Out: tensor(nan)

In : a.sum()
Out: tensor(nan)

In : b = a - tc.nan

In : b
Out: tensor()我们可以直接用torch.nan来定义一个NAN的数。然后这个NAN在计算过程中,不论是取最大值还是最小值,都会取到NAN。如果另外一个数跟NAN做四则运算,得到的结果也是NAN,这就是NAN的基本运算规则。
NAN的产生

如果我们直接使用1/0这样的形式去计算,得到的结果会是inf而不是NAN:
In : import torch as tc

In : a = tc.zeros(1)

In : b = tc.ones(1)

In : c=b/a

In : c
Out: tensor()实际上出现NAN时,只有两种可能的情况:0/0和inf/inf:
In : import torch as tc

In : a = tc.zeros(1)

In : b = tc.zeros(1)

In : a/b
Out: tensor()

In : b=1

In : a/b
Out: tensor()

In : b/a
Out: tensor()

In : (b/a)/(b/a)
Out: tensor()那么就可以通过这样的规则,去排除一下是计算的哪个步骤出现了问题。
总结概要

本文通过几个简单的代码示例,展示了一下NAN在PyTorch框架下形成的原因。通过了解这个原因和规则,有助于解决在深度学习开发和训练过程中出现的NAN的问题。
版权声明

本文首发链接为:https://www.cnblogs.com/dechinphy/p/tc-nan.html
作者ID:DechinPhy
更多原著文章请参考:https://www.cnblogs.com/dechinphy/
打赏专用链接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html
腾讯云专栏同步:https://cloud.tencent.com/developer/column/91958

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

奄幂牛 发表于 2025-12-12 20:09:29

谢谢楼主提供!

揭荸 发表于 2026-1-3 08:47:04

谢谢分享,辛苦了

葛雅隽 发表于 2026-1-14 06:58:06

收藏一下   不知道什么时候能用到

喳谍 发表于 2026-1-16 06:50:58

很好很强大我过来先占个楼 待编辑

艺轫 发表于 2026-1-19 03:04:26

喜欢鼓捣这些软件,现在用得少,谢谢分享!

缑莺韵 发表于 2026-1-22 20:07:26

很好很强大我过来先占个楼 待编辑

汤流婉 发表于 2026-1-28 16:40:11

新版吗?好像是停更了吧。

东新 发表于 2026-1-29 06:38:40

东西不错很实用谢谢分享

眩疝诺 发表于 2026-1-30 07:14:08

很好很强大我过来先占个楼 待编辑

染罕习 发表于 2026-2-3 08:02:03

收藏一下   不知道什么时候能用到

步雪卉 发表于 2026-2-3 11:33:15

谢谢分享,试用一下

挺喽蹂 发表于 2026-2-5 03:37:07

谢谢楼主提供!

兜蛇 发表于 2026-2-5 03:46:23

感谢,下载保存了

阜逐忍 发表于 2026-2-5 05:13:48

用心讨论,共获提升!

盒礁泅 发表于 2026-2-6 09:36:41

新版吗?好像是停更了吧。

毕余馥 发表于 2026-2-8 01:15:01

收藏一下   不知道什么时候能用到

蔺堰 发表于 2026-2-8 17:33:03

前排留名,哈哈哈

梁丘艷蕙 发表于 2026-2-9 08:32:16

感谢分享,下载保存了,貌似很强大

阕阵闲 发表于 2026-2-9 13:27:47

喜欢鼓捣这些软件,现在用得少,谢谢分享!
页: [1] 2
查看完整版本: 关于nan的大小判定规则