nan_to_num¶
替换 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)
>>> out1
Tensor(shape=[4], dtype=float32, place=Place(cpu), stop_gradient=True,
[ 0. ,
0.30000001 ,
340282346638528859811704183484516925440.,
-340282346638528859811704183484516925440.])
>>> out2 = paddle.nan_to_num(x, nan=1)
>>> out2
Tensor(shape=[4], dtype=float32, place=Place(cpu), stop_gradient=True,
[ 1. ,
0.30000001 ,
340282346638528859811704183484516925440.,
-340282346638528859811704183484516925440.])
>>> out3 = paddle.nan_to_num(x, posinf=5)
>>> out3
Tensor(shape=[4], dtype=float32, place=Place(cpu), stop_gradient=True,
[ 0. ,
0.30000001 ,
5. ,
-340282346638528859811704183484516925440.])
>>> out4 = paddle.nan_to_num(x, nan=10, neginf=-99)
>>> out4
Tensor(shape=[4], dtype=float32, place=Place(cpu), stop_gradient=True,
[ 10. ,
0.30000001 ,
340282346638528859811704183484516925440.,
-99. ])