torch.nan_to_num

torch.nan_to_num(input, nan=0.0, posinf=None, neginf=None, *, out=None)) Tensor

input中的NaN、正无穷大和负无穷大值分别替换为由nanposinfneginf指定的值。默认情况下,NaN被替换为零,正无穷大被替换为input数据类型可表示的最大有限值,负无穷大被替换为input数据类型可表示的最小有限值。

参数
  • input (Tensor) – 需要输入的张量。

  • nan (Number, 可选) - 替换 NaN 的值。默认为零。

  • posinf (Number, optional) – 如果是 Number,用于替换正无穷大值的具体数值。如果为 None,则正无穷大值将被替换成由input数据类型表示的最大有限值。默认情况下,该参数为 None。

  • neginf (Number, 可选) – 如果是 Number 类型,用于指定替换负无穷大的数值;如果为 None,则用 input 数据类型的最小有限值来替代负无穷大。默认情况下为 None。

关键字参数

out (Tensor, 可选) – 指定输出张量。

示例:

>>> x = torch.tensor([float('nan'), float('inf'), -float('inf'), 3.14])
>>> torch.nan_to_num(x)
tensor([ 0.0000e+00,  3.4028e+38, -3.4028e+38,  3.1400e+00])
>>> torch.nan_to_num(x, nan=2.0)
tensor([ 2.0000e+00,  3.4028e+38, -3.4028e+38,  3.1400e+00])
>>> torch.nan_to_num(x, nan=2.0, posinf=1.0)
tensor([ 2.0000e+00,  1.0000e+00, -3.4028e+38,  3.1400e+00])
本页目录