CosineSimilarity
产品支持情况
| 产品 |
是否支持 |
| Ascend 950PR&950DT系列产品 |
√ |
| Atlas A3系列产品 |
√ |
| Atlas A2系列产品 |
√ |
| Atlas 200I/500 A2推理产品 |
× |
| Atlas推理系列产品 |
× |
| Atlas训练系列产品 |
× |
功能说明
cosine_similarity(x1,x2,dim,eps)=∑(x1⋅x2,dim)max(∑(x12,dim),eps)⋅max(∑(x22,dim),eps)\text{cosine\_similarity}(x_1, x_2, \text{dim}, \text{eps}) = \frac{\sum(x_1 \cdot x_2, \text{dim})}{\max(\sqrt{\sum(x_1^2, \text{dim})}, \text{eps}) \cdot \max(\sqrt{\sum(x_2^2, \text{dim})}, \text{eps})}
cosine_similarity(x1,x2,dim,eps)=max(∑(x12,dim),eps)⋅max(∑(x22,dim),eps)∑(x1⋅x2,dim)
参数说明
| 参数名 |
输入/输出/属性 |
描述 |
数据类型 |
数据格式 |
| input_x1 |
输入 |
第一个输入张量,rank范围为1~8。 |
FLOAT |
ND |
| input_x2 |
输入 |
第二个输入张量,必须与input_x1的shape完全相同。 |
FLOAT |
ND |
| output_y |
输出 |
沿dim维度reduce后的输出张量,shape为输入shape删除dim对应维后的结果。 |
FLOAT |
ND |
| dim |
属性 |
计算余弦相似度的维度,取值范围为[-rank, rank-1],默认值为1。 |
INT32 |
- |
| eps |
属性 |
非负的数值稳定性参数,防止除零,默认值为1e-8。 |
FLOAT |
- |
约束说明
- 输入和输出仅支持FLOAT(float32)数据类型。
- 两个输入的rank必须相同,且rank范围为1~8;不支持0D Tensor。
- 两个输入的每一维长度必须相同,即
input_x1.shape == input_x2.shape。
- 不支持任何形式的广播,包括维度为1的扩展和不同rank的左侧补1。
- 不支持shape中含长度为0的维度。
dim必须位于输入rank对应的[-rank, rank-1]范围内;负数索引按对应正数维度处理,例如dim=-1表示最后一维。
- 输出shape为两个输入的共同shape删除
dim对应维后的结果。
eps必须为非负值。
- 若两个输入的rank为1,则
dim必须显式指定在[-1, 0]范围内。
调用说明