nan_to_num

paddle. nan_to_num ( x, nan=0.0, posinf=None, neginf=None, name=None ) [源代码]

替换 x 中的 NaN、+inf、-inf 为指定值。

参数

  • x (Tensor) - 输入变量,类型为 Tensor, 支持 float32、float64 数据类型。

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

  • posinf (float,可选) - +inf 的替换值,默认为 None,表示使用输入 Tensor 的数据类型所能表示的最大值作为 +inf 的替换值。

  • neginf (float,可选) - -inf 的替换值,默认为 None,表示使用输入 Tensor 的数据类型所能表示的最小值作为 -inf 的替换值。

  • name (str,可选) - 具体用法请参见 Name ,一般无需设置,默认值为 None。

返回

  • Tensor (Tensor),将输入 Tensor 中的 NaN、+inf、-inf 替换后的结果。

代码示例

import paddle

x = paddle.to_tensor([float('nan'), 0.3, float('+inf'), float('-inf')], dtype='float32')
out1 = paddle.nan_to_num(x)  # [0, 0.3, 3.4028235e+38, -3.4028235e+38]
out2 = paddle.nan_to_num(x, nan=1)  # [1, 0.3, 3.4028235e+38, -3.4028235e+38]
out3 = paddle.nan_to_num(x, posinf=5)  # [0, 0.3, 5, -3.4028235e+38]
out4 = paddle.nan_to_num(x, nan=10, neginf=-99)  # [10, 0.3, 3.4028235e+38, -99]

使用本API的教程文档