华为云AI开发平台ModelArts本地交互式推理_云淘科技

VisPlatform提供了在Notebook中交互式推理的能力,提供了在线图片/视频的实时推理、训练结果离线可视化推理、数据集可视化等能力,帮助用户更加快速、简便地对于数据和训练的模型进行理解和评估。

以目标检测场景为例,用户可以通过鼠标勾选需要推理的图片、视频,并且可以选择不同的iou和score参数进行动态比较。

VisPlatform

from modelarts.algo_kits import VisDetPlatform

VisDetPlatform(learner, stage="val", det_box_color=(0, 0, 255))
表1 Valplatform参数说明

参数名称

可选/必选

参数类型

参数描述

learner

可选

Learner object

Learner对象,用于在线实时推理,在离线推理或数据集可视化场景可省略。

stage

可选

string

推理图片所属的DataBlock数据集类别,包括”train”、”val”、”test”,默认为”train”,只对在线推理有效。

classes

可选

list

需要展示的类别列表。

ann_json

可选

string

标注文件路径,主要用于离线展示。

det_file

可选

string

验证输出的检测结果文件路径,主要用于离线展示。

det_box_color

可选

tuple

检测框颜色,默认为(0, 0, 255)

gt_box_color

可选

string

GT标注框颜色,默认为(80, 127, 255)

without_gt

可选

bool

离线推理是否包含gt信息。

mask_palette

可选

list

mask蒙版颜色列表,如果不设置,则使用随机颜色,只对mask类算法生效。

infer_param

可选

dict

推理相关参数,如不指定则使用配置文件默认参数,与推理速度相关,目前只对mmdetection类模型生效,主要包含: 1. nms_pre:nms操作前生成的bbox数量 2. max_per_img:每张图片最大目标数 3. img_scale:图像resize尺寸。

基于VisPlatform进行图片/视频推理

图片推理

方式1:在线推理

VisDetPlatform(learner, stage="val", det_box_color=(0, 0, 255))

单击“Select”按钮可以交互式选择需要预测的文件、文件夹,会自动过滤出文件夹支持的图片及视频。
当检测框置信度大于“Score Thr”时会在图片中显示,当检测框和标注框的iou值大于“Iou Thr”时会显示蓝色框,当iou值小于“Iou Thr时”会显示红色框。
“Category”默认选择“ALL”,表示会显示所有类别信息,也可以选择只显示某一种类别。
“Pred_bbox”表示是否显示检测框,“Pred_label”表示是否显示对应预测的标签和置信度,“GT_bbox”表示是否显示标注框,“GT_label”表示是否显示对应的标签。

方式2: 离线推理

在验证集进行评估,并保存验证集检测结果到文件中。

learner.validate(out="./output/mmdetection/fcos/prediction.pkl")

使用检测结果文件和标注进行离线推理

VisDetPlatform(ann_json="./data/raw/helmet/annotations/instances_val2017.json", det_file="./output/mmdetection/fcos/prediction.pkl")

此时的交互式方式和在线推理类似,但是不支持视频的推理。

方式3: 数据集可视化

只展示数据集标注信息。

VisDetPlatform(ann_json="./data/raw/helmet/annotations/instances_val2017.json")

如果只传入ann_json路径,那么可以使用VisDetPlatform对数据集进行可视化,此时pred_bbox、pred_label、Score Thr和IoU Thr被锁定,无法进行编辑操作;
只会对于ann_json中具有标注信息的图片进行可视化。

视频推理

infer_param = {"nms_pre": 100, "max_per_img": 20, "img_scale": (800, 600)}  # 默认为None
VisDetPlatform(learner, infer_param=infer_param, stage="val", det_box_color=(0, 0, 255))

infer_param参数取值默认为None,则会使用默认的推理配置参数,设置infer_param后(接收nms_pre, max_per_img, img_scale),能够提高视频推理的FPS;
视频推理模式下,pred_bbox、pred_label、GT_bbox、GT_label和IoU Thr无效;
开启async模式后,对于小模型而言,适量增大“batch size”的大小能够提高视频推理的FPS,如下图所示:

父主题: 通过Python API使用算法套件

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家