pytorch中torch.isnan()和torch.isfinite()

2022-09-02 19:30:12 浏览数 (2)

1.torch.isfinite()

代码语言:javascript复制
import torch
num = torch.tensor(1)  # 数字1
res = torch.isfinite(num)
print(res)
'''
输出:
tensor(True)
'''

这个num必须是tensor

代码语言:javascript复制
import torch
num = torch.tensor(float('inf')) # 正无穷大
res = torch.isfinite(num)
print(res)
'''
输出:
tensor(False)
'''
代码语言:javascript复制
import torch
num = torch.tensor(float('-inf')) # 负无穷大
res = torch.isfinite(num)
print(res)
'''
输出:
tensor(False)
'''
代码语言:javascript复制
import torch
num = torch.tensor(float('nan')) # 空
res = torch.isfinite(num)
print(res)
'''
输出:
tensor(False)
'''

2.torch.isnan()

代码语言:javascript复制
import torch
res=torch.isnan(torch.tensor([1, float('inf'), 2, float('-inf'), float('nan')]))
print(res)
'''
输出:
tensor([False, False, False, False,  True])
'''

可以看出torch.isnan()是用来判断输入的张量是否为空的函数,当输入为空是,返回True。

0 人点赞