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 byinput
โ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])