torch.nan_to_num¶
- torch.nan_to_num(input, nan=0.0, posinf=None, neginf=None, *, out=None) Tensor ¶
将
input
中的NaN
、正无穷和负无穷值分别替换为由nan
、posinf
和neginf
指定的值。默认情况下,NaN
将被零替换,正无穷将被input
的 dtype 可表示的最大有限值替换,负无穷将被input
的 dtype 可表示的最小有限值替换。- 参数
input (Tensor) – 输入张量。
nan (Number, optional) – 用于替换
NaN
的值。默认为零。posinf (Number, optional) – 如果是 Number,则用于替换正无穷值的值。如果是 None,正无穷值将被
input
的 dtype 可表示的最大有限值替换。默认为 None。neginf (Number, optional) – 如果是 Number,则用于替换负无穷值的值。如果是 None,负无穷值将被
input
的 dtype 可表示的最小有限值替换。默认为 None。
- 关键字参数
out (Tensor, optional) – 输出张量。
示例
>>> 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])