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 ininput
with 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
NaN
s 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])