mindspore.ops.nextafter
- mindspore.ops.nextafter(input, other)[源代码]
逐元素返回 input 指向 other 的下一个可表示值符点值。
比如有两个数 \(a\) , \(b\) ,数据类型为float32。并且设float32数据类型的可表示值增量为 \(eps\) 。如果 \(a < b\) ,那么 \(a\) 指向 \(b\) 的下一个可表示值就是 \(a+eps\) , \(b\) 指向 \(a\) 的下一个可表示值就是 \(b-eps\) 。
\[out_{i} = nextafter({input_{i}, other_{i}})\]更多详细信息请参见 A Self Regularized Non-Monotonic Neural Activation Function 。
- 参数:
input (Tensor) - 第一个输入Tensor,支持数据类型为float32和float64。其shape为 \((N,*)\) ,其中 \(*\) 为任意数量的额外维度。
other (Tensor) - 第二个输入Tensor,支持数据类型为float32和float64。其shape为 \((N,*)\) ,其中 \(*\) 为任意数量的额外维度。
- 返回:
Tensor,shape和数据类型与 input 相同。
- 异常:
TypeError - input 和 other 都不是Tensor。
TypeError - input 和 other 的数据类型非float16或float32。
TypeError - input 和 other 数据类型不一致。
ValueError - input 和 other 的shape不一致。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops >>> input_ = Tensor(np.asarray([0.0]), mindspore.float32) >>> other_ = Tensor(np.asarray([0.1]), mindspore.float32) >>> output_ = ops.nextafter(input_, other_) >>> print(output_) [1.e-45]