FilesLast commitLast update
1 month ago
27 days ago
12 days ago
27 days ago
8 days ago
12 days ago
27 days ago
README

ConfusionMatrix

产品支持情况

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

功能说明

  • 算子功能:计算分类任务的混淆矩阵。给定真实标签labels和预测标签predictions,统计每个(label, prediction)对的出现次数,生成num_classes×num_classes的矩阵。当weights不为空时,每次匹配的贡献为对应的权重值而非1。

  • 计算公式:

    如果指定了weights,则

    y[labelsi,predictionsi]=y[labelsi,predictionsi]+weightsiy[labels_i, predictions_i] = y[labels_i, predictions_i] + weights_i

    否则:

    y[labelsi,predictionsi]=y[labelsi,predictionsi]+1y[labels_i, predictions_i] = y[labels_i, predictions_i] + 1

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
labels 输入 真实标签,1维tensor,取值范围[0, num_classes)。 INT8、INT32、UINT8、FLOAT16、FLOAT ND
predictions 输入 预测标签,1维tensor,shape和dtype与labels一致。 INT8、INT32、UINT8、FLOAT16、FLOAT ND
weights 输入 每个样本的权重,可为空。shape与labels一致;非空时dtype必须与输出y的dtype一致(即与dtype属性相同)。 FLOAT、FLOAT16、INT32、INT8、UINT8 ND
num_classes 属性 类别数量,取值范围[1, 4096]。 INT -
dtype 属性 输出tensor的数据类型。 STRING -
y 输出 混淆矩阵,shape为[num_classes, num_classes]。 FLOAT、FLOAT16、INT32、INT8、UINT8 ND

约束说明

  • labels和predictions的shape必须一致。
  • labels和predictions的dtype必须一致。
  • weights不为空时,其shape必须与labels一致,且dtype必须与输出y的dtype(即dtype属性)一致。
  • labels和predictions中的值必须在[0, num_classes)范围内。
  • num_classes取值范围为[1, 4096]。
  • labels和predictions为1维tensor,支持的数据类型为FLOAT、FLOAT16、INT32、INT8、UINT8。
  • 精度约束:输出为FLOAT16时,计数在fp16整数精确表示范围(≤2048)内为精确值;单桶计数超出该范围后存在精度损失(累加在输出精度上进行),大计数场景建议使用float32或int32输出。

调用说明

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