更新时间:2026-08-12 GMT+08:00
分享

评测结果

评测任务完成后,可单击评测任务名称查看模型评测各项得分。任务详情页面展示了评测任务详情信息以及评测模型结果信息两部分内容。

任务详情

任务详情页面,详细展示了任务名称、类别、资源规格等基本信息。

图1 任务详情

任务视图

可查看在不同视图下的评测结果、任务日志和资源占用情况。

  • 自定义评测
    图2 自定义评测

  • 内置评测
    图3 内置评测

  • 内置评测 + 坏例判别
    仅当用户创建内置评测任务时选择“BadCase”判别时存在。展示badcase结果的各类型框汇总。运行过程中、坏例判别失败(未获取到坏例结果)时,该视图各项指标显示为"--"。
    图4 坏例判别

    当前支持的坏例类型如下表所示:

    表1 坏例类别说明

    坏例类别

    说明

    FP (False Positive)

    经过预测框和真值框一对一正确匹配(TP: True Positive )后,剩余的预测框。FP 为定位错误、分类错误、重复检测、分类和定位错误、漏检的合集。

    FN (False Negative)

    经过预测框和真值框一对一正确匹配(TP)后,剩余的真值框。

    定位错误

    预测类别正确,但预测框与真值框的IOU介于背景阈值和前景阈值之间。

    分类错误

    预测框与真值框的IOU大于前景阈值,但预测类别错误。

    重复检测

    同一个真值目标被多个预测框检测,非最高分的预测框视为重复框。

    背景误检

    预测框与所有真值框的IOU小于背景阈值。

    分类和定位错误

    预测框与真值框的IOU介于背景阈值和前景阈值之间,且预测类别错误。

    漏检

    除去已匹配的TP、定位错误及分类错误所对应的真值框外,剩余的未被匹配的真值框。(注:在某些严格定义中,FN等同于漏检,但此处漏检是FN的子集)

坏例判别

单击“坏例判别”视图可进入坏例详情分析页面。该页面分为全局统计概览和逐帧可视化对比两个区域。

图5 坏例判别详情

全局统计概览:在页面上半部分,展示总帧数及按照“坏例类别”和“实例类别”两个维度统计的对象数量汇总。

逐帧可视化对比:在页面下半部分,支持标注数据和推理结果的可视化对比,支持通过筛选“坏例类别”,查看特定类型的坏例结果。

保存数据集:单击右上角“保存为数据集”,可将存在坏例判别的数据保存到新数据集中。数据集各属性沿用原始评测数据集,例如“数据类型”、“标注状态”、“数据格式”等。

评测参数项

内置指标评测任务视图下存在。展示客户创建内置评测任务时指定的评测参数值。

评测结果

显示模型的评测结果,例如“模型评测结果字典.json”和“模型评测报告.pdf”,可在线查看或下载至本地查看。

图6 评测结果
自定义评测任务需要用户输出评测结果,如需创建PDF可视化报告需满足Octopus平台的相关约定,具体如下:
  1. 文件约定:用户将待创建PDF的评测结果写入到原始json文件中,文件内容如下:
    {
       "kind": "rep", 
       "docVersion": "Octopus/v1",
        "metadata": {},
        "spec": {
            "overview": [],
            "content": [],
         }
    }
    • kind:表示该文件标识符,当其存在且值为rep时会自动创建PDF,否则将该结果文件直接上传到评测结果文件夹中。
    • docVersion: 表示八爪鱼评测可视化报告的文档版本。
    • metadata: 表示文档的基本元信息。
    • spec:表示规格,即文档包含的内容。其中overview中保留总览信息,将字段对象渲染为无边线表格概况信息。content渲染为评测结果内容主体。

  2. 内容约定:目前支持的元素包括以下:
    1. 段落
      {
         "kind": "Paragraph",
         "spec": "Test Paragraph!"
      }
      • kind:唯一类型标识。Paragraph标识为段落,用户输出正文或标题文字。
      • spec:表示段落内容。
    2. 表格
      {
          "kind": "Table",
          "spec": {
              "name": "2D Detection Metrics",
              "fields": ["classes", "precision", "recall", "error", "leak", "F-score", "iou cost", "c-distance", "mPA"],
              "data": [
                  ["car", 0.8, 0.8, 0.2, 0.2, 0.8, 0.3, 1.2, 0.8],
                  ["pedestrian", 0.8, 0.8, 0.2, 0.2, 0.8, 0.3, 1.2, 0.8]
              ]
          }
      }
      • kind:唯一类型标识,Table标识为表格,多用于输出指标项结果。
      • spec:数据主体。
        • name:表格名称。
        • fields:表头元素。
        • data:表主体,每个列表表示一行数据。
    3. 柱状图
      {
          "kind": "BarChart",
          "spec": {
              "name": "precision-compare",
              "legends": ["min_iou=0.5", "min_iou=0.6"],
              "axes": ["classes", "precision"],
              "labels": ["car", "pedestrian"],
              "data": [
                  [0.8, 0.8],
                  [0.7, 0.7]
              ]
          }
      }
      • kind:唯一类型标识,BarChart标识为柱状图,多用于指标结果对比。
      • spec:数据主体。
        • name:柱状图名称。
        • legends:图例,列表形式,与data对应。
        • axes:坐标轴设定,x轴与y轴名称。
        • labels:标签列表。
        • data:柱状图数据主体,每个列表表示一个图例单元数据。
    4. 折线图
      {
          "kind": "LineChart",
          "spec": {
              "name": "car-PR compare",
              "legends": ["min_iou=0.5", "min_iou=0.6"],
              "axes": ["precision", "recall"],
              "data": [
                  [[0.2, 0.4, 0.6, 0.8, 1.0], [0.8, 0.8, 0.6, 0.6, 0.4]],
                  [[0.2, 0.4, 0.6, 0.8, 1.0], [0.7, 0.7, 0.6, 0.6, 0.5]]
              ]
          }
      }
      • kind:唯一类型标识,LineChart标识为折线图,多用于趋势对比,如PR图。
      • spec:数据主体。
        • name:折线图名称。
        • legends:图例,列表形式,与data对应。
        • axes:坐标轴设定,x轴与y轴名称。
        • data:折线图数据主体,每个列表表示一个图例数据(包括x/y双轴)。
    5. 饼图
      {
          "kind": "PieChart",
          "spec": {
              "name": "BadCase in 2D Detection",
              "data": [30, 50, 80],
              "labels": ["Car", "Truck", "Pedestrian"]
          }
      }
      • kind:唯一类型标识,PieChart标识为饼图。
      • spec:数据主体。
        • name:饼图名称。
        • labels:饼图标签与数据data对应。
        • data:饼图数据列表,与标签labels对应。

    f. 热力图

    {
        "kind": "HeatMap",
        "spec": {
            "name": "指标-混淆矩阵",
            "axes": ["Prediction","GroundTruth"],
            "data": [[0,9],
                    [3,0]],
            "labels": ["car", "backgroud"]
        }
    }
    • kind:唯一类型标识,HeatMap标识为热力图。
    • spec:数据主体。
      • name:热力图名称。
      • axes:坐标轴设定,x轴与y轴名称。
      • data:热力数据列表,与标签labels对应。
      • labels:热力图标签与数据data对应。

    g.文本

    {
        "kind": "Text",
        "spec": {
            "name": "指标-混淆矩阵结果分析",
            "axes": ["Prediction","GroundTruth"],
            "data": "从car这一行的数据中得到,漏检率为100.00%;<br/>从最后一行数据中得到,误检率较高的类别为:car:误检率为100.00%"
        }
    }
    • kind:唯一类型标识,Text标识为文本。
    • spec:数据主体。
      • name:文本名称。
      • data:文本内容,换行用<br/>。
  3. 完整示例。
    1. 原始数据“01.json”。
      {
        "kind": "rep",
        "docVersion": "Octopus/v1",
        "metadata": {
          "name": "模型评测报告",
          "kind": "D2",
          "datetime": "2023-03-16 21:00:00"
        },
        "spec": {
          "overview": [
            {
              "name": "数据集",
              "value": "Octopus/v1"
            }
          ],
          "content": [
            {
              "kind": "Paragraph",
              "spec": "Test Paragraph!"
            },
            {
              "kind": "Table",
              "spec": {
                "name": "2D Detection Metrics",
                "fields": [
                  "classes",
                  "precision",
                  "recall",
                  "error",
                  "leak",
                  "F-score",
                  "iou cost",
                  "c-distance",
                  "mPA"
                ],
                "data": [
                  ["car", 0.8, 0.8, 0.2, 0.2, 0.8, 0.3, 1.2, 0.8],
                  ["pedestrian", 0.8, 0.8, 0.2, 0.2, 0.8, 0.3, 1.2, 0.8]
                ]
              }
            },
            {
              "kind": "BarChart",
              "spec": {
                "name": "precision-compare",
                "legends": [
                  "min_iou=0.5",
                  "min_iou=0.6"
                ],
                "axes": [
                  "classes",
                  "precision"
                ],
                "labels": [
                  "car",
                  "pedestrian"
                ],
                "data": [
                  [0.8, 0.8],
                  [0.7, 0.7]
                ]
              }
            },
            {
              "kind": "LineChart",
              "spec": {
                "name": "car-PR compare",
                "legends": [
                  "min_iou=0.5",
                  "min_iou=0.6"
                ],
                "axes": [
                  "precision",
                  "recall"
                ],
                "data": [
                  [
                    [0.2, 0.4, 0.6, 0.8, 1.0],
                    [0.8, 0.8, 0.6, 0.6, 0.4]
                  ],
                  [
                    [0.2, 0.4, 0.6, 0.8, 1.0],
                    [0.7, 0.7, 0.6, 0.6, 0.5]
                  ]
                ]
              }
            }
          ]
        }
      }
    2. 根据原始数据“01.json”自动创建“01.pdf”。
      图7 英文pdf
      图8 中文pdf
      图9 car-PR compare

任务日志

评测任务运行的过程中会实时生成日志,平台提供日志的查看以及下载功能。

生成的日志文件共有四种形式:

  • evaluate-custom-{id}.log:使用CCE资源规格时,用户推理或自定义评测任务的日志。
  • modelarts-job-{id}-worker-0.log:使用ModelArts资源规格时,用户推理或自定义评测任务(及平台内置Sidecar容器)的日志。
  • evaluate-xx-{id}-init.log:Octopus平台提供的前置数据的准备日志。
  • evaluate-xx-{id}-sidecar.log:Octopus平台提供的Sidecar容器日志,包括日志同步、结果上传。
  • octopus-evaluate-xx-{id}-supplemental.logs: Octopus平台任务异常退出或停止产生的错误信息输出日志,运行正常时不产生该日志。

    {id}为该训练任务ID,{index}为节点编号,例如单节点single-0,多节点distributed-0 distributed-1。

在评测任务的详情页面,可单击“任务日志”查看任务在运行过程中生成的所有日志。如果日志较多,可在搜索框中输入关键字,查找指定日志内容。

在日志服务页面中的日志列表部分详细展示了该评测任务包含的所有文件的大小以及最新写入时间。单击文件后的“查看”,该文件的详细执行过程则在日志详情部分展示。也可在日志文件后的“操作”栏中,单击“下载”,即可将该日志文件下载到本地查看。

资源占用情况

在任务运行中,资源占用情况模块显示任务占用的CPU、内存、GPU显存利用率、占用率百分比的折线图。默认显示CPU占用情况折线图。

  • 双击任一图例:显示全部资源占用折线图。
  • 单击指定图例:只显示该图例折线图。
在使用CCE资源规格时,资源占用情况需要用户在制作自定义镜像时安装psutil与pynvml,参考命令如下:
pip install psutil pynvml

如果未安装psutil与pynvml,则页面无法显示资源使用状况。

相关文档