mindspore.ops.nan_to_num

mindspore.ops.nan_to_num(input, nan=None, posinf=None, neginf=None)[源代码]

input 中的 NaN 、正无穷大和负无穷大值分别替换为 nanposinfneginf 指定的值。

警告

对于Ascend,仅支持 Atlas A2 训练系列产品。 这是一个实验性API,后续可能修改或删除。

参数:
  • input (Tensor) - shape为 \((input_1, input_2, ..., input_R)\) 的tensor。

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

  • posinf (number,可选) - 如果是一个数字,则为替换正无穷的值。如果为 None ,则将正无穷替换为 input 类型支持的上限。默认值为 None

  • neginf (number,可选) - 如果是一个数字,则为替换负无穷的值。如果为 None ,则将负无穷替换为 input 类型支持的下限。默认值为 None

返回:

Tensor,数据shape和类型与 input 相同。

异常:
  • TypeError - input 不是一个Tensor。

支持平台:

Ascend CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> input = Tensor(np.array([float('nan'), float('inf'), -float('inf'), 5.0]), mindspore.float32)
>>> output = ops.nan_to_num(input, 1.0, 2.0, 3.0)
>>> print(output)
[1.  2.  3.  5.0]