Cdist
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
功能说明
-
算子功能:计算两个向量集合中每对向量之间的p范数距离。
-
计算公式:对于输入张量x1和x2,设其shape分别为[B,P,M][B, P, M]和[B,R,M][B, R, M],输出张量y的shape为[B,P,R][B, P, R]。
当p>0p>0时:
yb,i,j=(∑k=1M∣x1b,i,k−x2b,j,k∣p)1py_{b,i,j}=\left(\sum_{k=1}^{M}|x1_{b,i,k}-x2_{b,j,k}|^p\right)^{\frac{1}{p}}
当p=0p=0时,输出为对应向量中不相等元素的数量;当p=+∞p=+\infty时,输出为对应向量元素差值绝对值的最大值。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x1 | 输入 | 第一个输入张量,shape为[B, P, M]。 | BFLOAT16、FLOAT16、FLOAT | ND |
| x2 | 输入 | 第二个输入张量,shape为[B, R, M]。 | BFLOAT16、FLOAT16、FLOAT | ND |
| y | 输出 | p范数距离计算结果,shape为[B, P, R]。 | BFLOAT16、FLOAT16、FLOAT | ND |
| p | 可选属性 | 范数阶数,取值范围为[0, +∞],默认值为2.0。 | FLOAT | - |
约束说明
- x1、x2和y的数据类型必须一致。
- x1和x2的维度范围为2~8,最后一维长度必须相同。
- x1和x2除最后两维外的其他维度必须满足broadcast关系;输出对应维度为broadcast后的shape。
- 若x1的倒数第二维为P,x2的倒数第二维为R,则输出的最后两维为[P, R]。
- p必须大于或等于0,支持+∞,常用取值为0、1.0、2.0和+∞。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_cdist | 通过aclnnCdist接口方式调用Cdist算子。 |