1. torch.isnan()

torch.isnan() 是 pytorch 中的一个检查函数,用于检查输入的张量或变量中是否存在 NaN(Not a Number)值。它返回一个新的张量或变量,其元素值为 True,如果输入的张量或变量中存在 NaN,否则为 False。

2. torch.isfinite()

torch.isfinite() 也是 pytorch 中的一个检查函数,用于检查输入的张量或变量中是否存在无限值(infinite)或者非数字(NaN)值。它返回一个新的张量或变量,其元素值为 True,如果输入的张量或变量中不存在无限值或者非数字,否则为 False。

3. 使用示例

下面是一个使用 torch.isnan() 和 torch.isfinite() 的示例代码:

12345import torch

x = torch.tensor([1.0, float('nan'), float('inf'), -float('inf')])

print(torch.isnan(x))

# tensor([False,  True, False, False])

print(torch.isfinite(x))

# tensor([ True, False, False, False])
Python

从上面的例子可以看出,torch.isnan() 函数检查输入张量中是否存在 NaN 值,torch.isfinite() 函数检查输入张量中是否存在无限值或者非数字值。