华为云AI开发平台ModelArts本地交互式推理_云淘科技
VisPlatform提供了在Notebook中交互式推理的能力,提供了在线图片/视频的实时推理、训练结果离线可视化推理、数据集可视化等能力,帮助用户更加快速、简便地对于数据和训练的模型进行理解和评估。
以目标检测场景为例,用户可以通过鼠标勾选需要推理的图片、视频,并且可以选择不同的iou和score参数进行动态比较。
VisPlatform
from modelarts.algo_kits import VisDetPlatform VisDetPlatform(learner, stage="val", det_box_color=(0, 0, 255))
参数名称 |
可选/必选 |
参数类型 |
参数描述 |
---|---|---|---|
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)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家