文件最后提交记录最后更新时间
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
26 天前
README

SparseBincount

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品 ×
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:统计稀疏张量中每个值(bin index)的出现次数或加权累加和。支持 1D 和多维模式,支持 binary_output 模式。

  • 计算公式:

1D: output[v]+=wi(if v<size)\text{1D: } output[v] += w_i \quad (\text{if } v < size)

Multi-dim: output[batch][v]+=wi(if v<size and batch<dense_shape[0])\text{Multi-dim: } output[batch][v] += w_i \quad (\text{if } v < size \text{ and } batch < dense\_shape[0])

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
indices 输入 稀疏张量的索引,2D tensor,shape (N, R)。 INT64 ND
values 输入 稀疏张量的值(bin index),1D tensor,shape (N,)。 INT32、INT64 ND
dense_shape 输入 稀疏张量的稠密形状,1D tensor,shape (R,)。 INT64 ND
size 输入 bin 的数量(标量 tensor),shape (1,)。 INT32、INT64 ND
weights 输入 权重,1D tensor,shape (N,) 或 (0,)。为空时每个出现计为1。 FLOAT ND
binary_output 属性 是否二值输出。True时出现过的bin设为1,False时输出计数或加权累加。 BOOL -
output 输出 统计结果。1D时shape=[size],多维时shape=[dense_shape[0], size]。 FLOAT ND

约束说明

  • indices 为 2D tensor,shape (N, R);values、dense_shape、size、weights 均为 1D tensor
  • indices 行数(N) 必须等于 values 元素数(N)
  • indices 列数(R) 必须等于 dense_shape 元素数(R)
  • indices[:, j] 必须在 [0, dense_shape[j]) 范围内
  • values[i] 必须在 [0, size) 范围内
  • weights 非空时,元素数必须与 values 元素数(N) 相等
  • size 为非负标量
  • weights 为空(元素数为0)时,每个出现计为 1.0
  • binary_output = True 时,出现过的 bin 设为 1.0,忽略权重

调用说明

调用方式 调用样例 说明
图模式调用 test_geir_sparse_bincount 通过算子IR构图方式调用SparseBincount算子。