Pytorch tensor 判断 nan 与 inf 的方法

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

torch.isnan(tensor).any()

其中,tensor.any()方法代表tensor中有一个True则全部都为True,any代表一个都不行;与之相对tensor.all()表示tensor中全部为True才为True,all代表都行才行。

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

torch.isinf(tensor).any()
  • 17
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyTorch 中,我们可以使用 `torch.tensor` 创建张量。PyTorch 的张量是具有多种数学运算功能的多维数组。与整数除法相关的操作有两个主要方面:整数或整数张量的除法运算,以及整数除法运算的结果类型。 首先,在 PyTorch 中,整数除法运算可以使用 `/` 符号完成。例如,对于整数变量 `x` 和整数变量 `y`,我们可以使用 `result = x / y` 进行整数除法运算。这将返回一个浮点数结果,即使 `x` 和 `y` 均为整数。 在进行整数除法运算时,PyTorch 使用了自适应类型推断功能。这意味着结果的类型将根据操作数的类型自动确定。例如,如果进行整数除法运算的操作数是整数型张量,则结果将是浮点型张量。而如果操作数是整数,则结果将是浮点数。 对于整数型张量的除法运算,我们可以使用 `torch.div` 函数。该函数的第一个参数是一个整数型张量,第二个参数可以是整数或整数型张量。例如,`result = torch.div(tensor, 5)` 将整数型张量 `tensor` 中的每个元素除以 5,并返回一个浮点型张量 `result`。 综上所述,PyTorch 中的张量与整数除法的关系是,张量支持整数除法运算,并可以根据操作数的类型自动确定结果的类型。我们可以使用 `/` 符号进行整数除法运算,也可以使用 `torch.div` 函数进行整数型张量的除法运算。无论哪种方式,结果将是浮点型张量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值