| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 1 个月前 |
BucketizeV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | x |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | x |
| Atlas 200I/500 A2 推理产品 | x |
| Atlas 推理系列产品 | x |
| Atlas 训练系列产品 | x |
功能说明
- 算子功能:用于将张量中的值按照给定的边界进行离散化,根据给定的边界将输入张量中的每个值映射到对应的分箱区间,并返回该值所属区间索引。
-
计算流程: 对于输入值 xx 和边界数组 boundaries=[b₀,b₁,...,bₙ₋₁]boundaries = [b₀, b₁, ..., bₙ₋₁],输出索引 yiyi 满足:
当right=false(默认,左开右闭区间): 如果 x≤b0x \le b_0,则 yi=0yi = 0 如果 bi−1<x≤bib_{i-1} < x \le b_i,则 yi=iyi = i 如果 x>bn−1x > b_{n-1},则 yi=nyi = n
当right=true(左闭右开区间): 如果 x<b0x < b_0,则 yi=0yi = 0 如果 bi−1≤x<bib_{i-1} \le x < b_i,则 yi=iyi = i 如果 x≥bn−1x \ge b_{n-1},则 yi=nyi = n
注意:本算子语义与
numpy.digitize相反(numpy的right=False是左闭右开)。示例说明: 假设 boundaries=[1,3,5]boundaries = [1, 3, 5],对于输入值 x=3x=3:
- 当right=false时,xx 满足 1<3≤31 < 3 \le 3,落入区间 (1,3](1, 3],输出索引为1
- 当right=true时,xx 满足 3≤3<53 \le 3 < 5,落入区间 [3,5)[3, 5),输出索引为2
对于边界值 x=1x=1:
- 当right=false时,xx 满足 x≤1x \le 1,落入 (−∞,1](-\infty, 1],输出索引为0
- 当right=true时,xx 满足 1≤1<31 \le 1 < 3,落入区间 [1,3)[1, 3),输出索引为1
-
参数说明
| 参数名 | 输入/输出 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 输入的张量,公式中的x。 | FLOAT、FLOAT16、BFLOAT16、INT8、INT16、INT32、INT64、UINT8 | ND |
| boundaries | 输入 | 输入的张量,表示给定的边界,公式中的boundaries。 | FLOAT、FLOAT16、BFLOAT16、INT8、INT16、INT32、INT64、UINT8 | ND |
| y | 输出 | 输入的结果,公式中的y。 | INT32、INT64 | ND |
| right | 可选属性 |
|
BOOL | ND |
| out_int32 | 可选属性 |
|
BOOL | ND |
约束说明
boundaries中的数必须是升序,且不重复。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_bucketize | 通过aclnnBucketize接口方式调用BucketizeV2算子。 |
| 图模式调用 | test_geir_bucketize_v2 | 通过算子IR构图方式调用BucketizeV2算子。 |