megengine.functional.clip¶
- clip(x, lower=None, upper=None)[源代码]¶
逐元素裁切函数。
将输入张量 \(x\) 的所有元素 \(x_i\) 裁切(限制)到
[ lower, upper ]范围内。例如,如果范围被指定为[0, 1],那么小于0的值将变为0,而大于1的值将变为1。\[\begin{split}y_i = \begin{cases} \text{lower} & \text{if } x_i < \text{lower} \\ x_i & \text{if } \text{lower} \leq x_i \leq \text{upper} \\ \text{upper} & \text{if } x_i > \text{upper} \end{cases}\end{split}\]目前等价于
F.minimum(upper, np.maximum(x, upper))。- 参数
x (
Tensor) – 输入张量。lower – 裁切范围的下界。应具有数值数据类型。
upper – 裁切范围的上界。应具有数值数据类型。
注解
如果
lower和upper都是 None,抛出AssertionError。若
lower是 None,则等价于F.minimum(x, upper)。若
upper是 None,则等价于F.maximum(x, lower)。如果
lower大于`upper,那么结果与clip(Tensor(), upper, upper)相同。