torch.nan_to_num¶
-
torch.nan_to_num(input, nan=0.0, posinf=None, neginf=None, *, out=None) → Tensor¶ Replaces
NaN, positive infinity, and negative infinity values ininputwith the values specified bynan,posinf, andneginf, respectively. By default,NaN`s are replaced with zero, positive infinity is replaced with the greatest finite value representable by :attr:`input’s dtype, and negative infinity is replaced with the least finite value representable byinput’s dtype.- Parameters
input (Tensor) – the input tensor.
nan (Number, optional) – the value to replace
NaNs with. Default is zero.posinf (Number, optional) – if a Number, the value to replace positive infinity values with. If None, positive infinity values are replaced with the greatest finite value representable by
input’s dtype. Default is None.neginf (Number, optional) – if a Number, the value to replace negative infinity values with. If None, negative infinity values are replaced with the lowest finite value representable by
input’s dtype. Default is None.
- Keyword Arguments
out (Tensor, optional) – the output tensor.
Example:
>>> 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])