FilesLast commitLast update
1 month ago
2 months ago
10 days ago
10 days ago
12 days ago
10 days ago
12 days ago
10 days ago
README

DenseBincount

产品支持情况

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

功能说明

  • 算子功能:DenseBincount对一维或二维整数输入逐行统计每个bin的出现次数或权重和。

  • 计算公式:

    设size中的唯一元素值为bin数量M。对于一维输入,输出形状为[M];对于二维输入,输出形状为[N, M],其中N = input.shape[0]。对有效的行号r和bin下标m,非二值输出为:

    output[r,m]=∑i∈row(r)1(inputi=m)×{weightsi,numel(weights)>01,numel(weights)=0output[r,m] = \sum_{i \in row(r)} \mathbf{1}(input_i=m) \times \begin{cases} weights_i, & numel(weights)>0 \\ 1, & numel(weights)=0 \end{cases}

    binary_output为true时,输出为:

    output[r,m]=1(∃i∈row(r),inputi=m)output[r,m] = \mathbf{1}(\exists i \in row(r), input_i=m)

    输入值大于或等于M时忽略。一维输入中的负值忽略;二维输入中的负值按TensorFlow DenseBincount语义折返到前一行,折返后行号或bin下标仍越界时忽略。binary_output为true时不使用weights的数值。

参数说明

参数名 输入/输出/属性 是否必选 描述 数据类型 数据格式
input 输入 是 一维或二维bin下标张量。 INT32、INT64 ND
size 输入 是 包含一个非负常量值的标量或一维单元素张量,该元素值表示bin数量。数据类型必须与input一致。 INT32、INT64 ND
weights 输入 是 权重张量。该输入不可省略;无权重时传零元素张量,表示按次数统计。非空时元素数量必须与input相同,并按展平下标一一对应。 FLOAT32 ND
binary_output 属性 否 是否仅输出bin命中标记,默认为false。 Bool -
output 输出 是 统计结果。一维输入对应形状[M],二维输入对应形状[input.shape[0], M],其中M为size中的唯一元素值。 FLOAT32 ND

约束说明

  • input的rank只能为1或2。
  • size必须是标量或仅含一个非负常量值的一维ND张量,且数据类型必须与input相同。
  • weights不可省略,rank不能超过2。无权重时传入零元素张量;非空时元素数量必须与input相同,按展平顺序逐元素对应,不要求与input逐维同shape。
  • Ascend 950PR&950DT系列产品:
    • weights为FLOAT32类型ND张量,rank不能超过2;元素数量为0时表示不使用权重,非空时元素数量必须与input相同。
    • 支持input任意维度大小为0或M为0。input的shape为[0]时,输出shape为[M];shape为[N, 0]时,输出shape为[N, M];shape为[0, N]或[0, 0]时,输出shape为[0, M]。M为0时,输出最后一维大小为0。
    • 输出元素数rows * M不能超过INT64索引可表示的FLOAT32元素数量上限,且输出张量所需存储必须能由运行环境分配;一维输入的rows取1。
  • Atlas A3训练系列产品/Atlas A3推理系列产品、Atlas A2训练系列产品/Atlas A2推理系列产品:
    • 沿用既有实现的空Tensor处理边界。
    • weights的rank不能超过2;元素数量为0时表示不使用权重,非空时元素数量必须与input相同,不要求与input逐维同shape。
    • M、输入维度大小和输入元素数量必须在INT32范围内。
  • 本算子仅支持GE图模式和TensorFlow图解析通路调用,不提供公开的aclnn接口。

调用说明

调用方式 调用样例 说明
图模式调用 test_geir_dense_bincount.cpp 通过算子IR构图调用DenseBincount算子。