NonZero

产品支持情况

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

功能说明

算子功能:找出self中非零元素的位置,设self的维度为D,self中非零元素的个数为N,则返回out的shape为N * D,每一列表示一个非零元素的位置坐标。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 表示待计算的目标张量,Device侧的aclTensor。 FLOAT、FLOAT16、DOUBLE、INT32、INT64、INT16、INT8、UINT8、BOOL、BFLOAT16、UINT16、UINT32、UINT64。 ND
y 输出 计算输出,Device侧的aclTensor。 INT64 ND
transpose 属性 标识输出是否需要转置。 BOOL ND
  • Atlas 训练系列产品、Atlas 推理系列产品、Atlas A2训练系列产品/Atlas 800I A2推理产品/A200I A2 Box异构组件、Atlas A3 训练系列产品/Atlas A3 推理系列产品:由于硬件资源限制,输出索引要求在int32精度范围内,所以输入的某一维度不能超过int32的表示范围。

约束说明

  • 确定性计算:
    • aclnnNonzero默认确定性实现。
  • 接口的输出size需要按照最大的输出size申请(即全部非0的场景,实测输出size不能超过2G),同时该接口使用的workspace也比较大,需要关注是否超过device内存大小。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_non_zero 通过aclnnNonzero接口方式调用Nonzero算子。
aclnn调用 test_aclnn_non_zero_v2 通过aclnnNonzeroV2接口方式调用NonzeroV2算子。