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)
相同。