图像检测训练(easycv)

图像检测训练(easycv)组件提供了主流的YOLOXFCOS检测模型,用于目标检测的训练。若需在图像中标识并框选高风险实体,您可使用该组件构建目标检测模型,并进行推理分析。本文介绍图像检测训练(easycv)组件的配置方法和使用示例。

前提条件

已开通OSS并完成授权,详情请参见开通OSS服务云产品依赖与授权:Designer

使用限制

  • Designer提供该算法组件。

  • 仅支持DLC引擎。

可视化配置组件参数

  • 输入桩

    输入桩(从左到右)

    限制数据类型

    建议上游组件

    是否必选

    训练数据

    OSS

    OSS数据

    否。

    如果没有通过输入桩配置该参数,也可以在字段设置页签的训练数据oss路径参数中配置。

    评估数据

    OSS

    OSS数据

    否。

    如果没有通过输入桩配置该参数,也可以在字段设置页签的测试数据oss路径参数中配置。

    类别列表文件

    OSS

    OSS数据

    否。

    如果没有通过输入桩配置该参数,也可以在字段设置页签的类别列表文件oss路径参数中配置。

  • 组件参数

    页签

    参数

    是否必选

    描述

    默认值

    字段设置

    训练模型类型

    训练所选的模型类型,支持以下取值:

    • FCOS

    • YOLOX

    • YOLOv5

    • YOLOv7

    YOLOX

    训练所用oss目录

    存储训练模型的OSS目录。例如examplebucket.oss-cn-shanghai-internal.aliyuncs.com/test/ckpt/。假如为空,使用工作空间默认路径

    训练集标注结果文件路径

    • 如果数据源格式PAI标注格式,则提供文件后缀名为manifest的文件。

    • 如果数据源格式COCO格式,则提供后缀名为.json的文件。

    如果通过了输入桩配置算法组件的标注训练数据,则为空。如果同时通过输入桩和该参数配置了算法组件的标注训练数据,则优先使用输入桩配置的输入。

    测试集标注结果文件路径

    • 如果数据源格式PAI标注格式,则提供文件后缀名为manifest的文件。

    • 如果数据源格式COCO格式,则提供后缀名为.json的文件。

    如果通过了输入桩配置算法组件的标注测试数据,则为空,如果同时通过输入桩和该参数配置了算法组件的标注测试数据,则优先使用输入桩配置的输入。

    类别列表文件oss路径

    填入后缀名为txt的标签列表文件。

    如果通过了输入桩配置算法组件的类别列表文件,则为空。如果同时通过输入桩和该参数配置了算法组件的类别列表文件,则优先使用输入桩配置的输入。

    预训练模型oss路径

    如果有自己的预训练模型,则将该参数配置为自己预训练模型的OSS路径。如果没有配置该参数,则使用PAI提供的默认预训练模型。

    训练数据oss路径

    仅当数据源格式为COCO格式时候,才会显示填写此单元格,此处填写的为COCO格式数据的训练图片路径。

    测试数据oss路径

    仅当数据源格式为COCO格式时候,才会显示填写此单元格,此处填写的为COCO格式数据的测试图片路径。

    数据源格式

    支持以下取值:

    • COCO格式

    • PAI标注格式(模型类型YOLOv5、YOLOv7仅支持PAI标注格式的数据集)

    PAI标注格式

    参数设置

    YOLOX模型结构

    仅当训练模型类型为YOLOX时,才会显示填写此单元格,此处下拉选择你所想选择的结构。

    • yolox-s

    • yolox-m

    • yolox-l

    • yolox-x

    yolo-s

    检测类别数目

    数据中类别标签的数目。

    20

    图像尺度

    图像resize后的大小,填写时候记得空格:高和宽之间使用空格分隔例如 320 320。

    320 320

    优化方法

    训练模型类型YOLOX时,支持配置该参数。

    模型训练的优化方法,支持以下取值:

    • momentum

    • adam

    momentum

    初始学习率

    初始学习率

    0.01

    训练batch_size

    训练的批大小,即单次模型迭代或训练过程中使用的样本数量。

    8

    评估batch_size

    评估的批大小,即单次模型迭代或训练过程中使用的样本数量。

    8

    epoch轮数

    总的训练迭代轮数。

    说明

    如果是YOLOX,总的epoch需要大于warmup epochs + 最后稳定lrepochs。

    20

    loss打印频率

    loss(损失值)打印频率。默认为200,表示每200个训练批次,打印一次loss(损失值)。

    验证频率

    默认为2,表示相隔2epoch进行验证。

    warmup epochs

    仅当模型为YOLOX时,需要填写。

    5

    最后稳定lrepochs

    仅当模型为YOLOX时,需要填写。

    5

    导出的模型类型

    导出模型的格式,提供两种导出格式。

    • raw

    • jit(模型类型YOLOv5、YOLOv7不支持导出jit格式)

    • onnx

    raw

    保存checkpoint的频率

    保存模型文件的频率。取值1表示对所有训练数据都进行一次迭代。

    1

    执行调优

    gpu机型选择

    此算法不支持没有GPU的机器运行。

    4

    开启半精度fp16

    是否使用fp16半精度模式。

    false

    单机或分布式

    只支持DLC分布方式训练。

    分布式DLC

  • 输出桩

    输出桩(从左到右)

    数据类型

    下游组件

    输出模型

    OSS路径。该路径是您在字段设置页签的训练所用oss目录参数配置的OSS路径,训练生成SavedModel格式的模型存储在该路径下。

    通用图像预测

示例

对于FCOS、YOLOX、YOLOv5、YOLOv7,您可以使用图像检测训练(eayscv)算法组件构建如下工作流。

image

本示例中,您需要按照以下流程配置组件:

  1. 通过PAI提供的智能标注模块进行图片标注,详情请参见处理标注任务

  2. 使用OSS数据组件读取标注结果文件xxx.manifest,即配置OSS数据组件的OSS数据路径参数为标注结果数据集的OSS路径。例如oss://examplebucket.oss-cn-shanghai.aliyuncs.com/ev_demo/xxx.manifest

  3. 将训练数据和评估数据接入图像检测训练(easycv)算法组件,并配置具体参数,详情请参见上文的可视化配置组件参数

对于FCOS、YOLOX,您还可以通过通用图像预测组件进行离线推理,详情请参见通用图像预测

3eeb980b8371052b9785a02f3719c4aa

相关文档

  • 训练完成图像检测模型后,您可以在图像检测训练(easycv)组件的下游,接入通用图像预测组件,对模型进行预测,来检测模型效果。详情请参见通用图像预测

  • 关于Designer组件更详细的内容介绍,请参见Designer概述

  • Designer预置了多种算法组件,你可以根据不同的使用场景选择合适的组件进行数据处理,详情请参见组件参考:所有组件汇总