针对tfrecord格式的数据,您可以使用图像分割训练算法组件对其进行模型训练,从而获得用于推理的图像分割模型。本文介绍图像分割训练算法组件的配置方法及使用示例。
前提条件
已开通OSS并完成授权,详情请参见开通OSS服务和为PAI-Studio授予OSS访问权限。
使用限制
仅PAI-Designer提供该算法组件。
算法简介
图像分割模块提供各种主流的卷积神经网络用于图像分割任务的训练,目前支持以下模型:
- 语义分割:DeepLab-V3
- Instance分割:Mask-RCNN
图像分割训练算法组件位于组件库音视觉算法文件夹下的离线训练模型子文件夹,最大支持千万规模图片进行分割训练。
可视化配置组件
- 输入桩
输入桩(从左到右) 限制数据类型 建议上游组件 是否必选 训练数据 OSS 数据转tfrecord 是 测试数据 OSS 数据转tfrecord 是 - 组件参数
页签 参数 是否必选 描述 默认值 字段设置 训练oss目录 是 存储训练模型的OSS目录,例如 oss://pai-online-shanghai.oss-cn-shanghai-internal.aliyuncs.com/test/test_image_inspection
。无 训练数据文件oss路径 否 如果没有通过输入桩配置算法组件的训练数据,则需要配置该参数,表示tfrecord格式的训练数据文件所在的OSS路径,支持通配符,例如 oss://a/train*.tfrecord
。如果同时通过输入桩和该参数配置了算法组件的训练数据,则优先使用输入桩配置的输入。
无 训练评估数据oss路径 否 如果没有通过输入桩配置算法组件的评估数据,则需要配置该参数,表示tfrecord格式的评估数据文件所在的OSS路径,支持通配符,例如
如果同时通过输入桩和该参数配置了算法组件的评估数据,则优先使用输入桩配置的输入。oss://a/test*.tfrecord
。无 是否使用预训练模型 否 建议使用预训练模型,以提高训练模型的精度。 是 预训练模型oss路径 否 如果有自己的预训练模型,则将该参数配置为自己预训练模型的OSS路径。如果没有配置该参数,则使用PAI提供的默认预训练模型。 无 参数设置 主干网络 是 选择使用的识别模型网络,系统支持以下当前主流的识别模型: - resnet_v1_50
- resnet_v1_101
- xception_41
- xception_65
- xception_71
resnet_v1_50 分类类别数目 是 类别标签的数量。 无 主干网络特征分辨率 否 下采样步长。 16 BN是否可训练 否 通常训练batch_size大于8时,建议选中BN是否可训练复选框。 是 图片裁剪大小 否 使用Random Crop进行数据处理后的图片大小,单位为像素。 513 初始学习率 否 初始学习率。 0.007 power 否 tf.train.polynomial_decay
中的power,详情请参见polynomial_decay。0.9 训练batch_size 是 训练的批大小,即单次模型迭代或训练过程中使用的样本数量。 6 评估batch_size 是 评估的批大小,即评估时单次模型迭代或训练过程中使用的样本数量。 1 训练迭代轮数 是 训练的迭代轮数(Epoch)。 1 评估数据条目数 否 训练过程中评估数据条目数。 无 评估过程可视化显示样本数目 否 评估过程可视化显示的样本数量。 5 保存checkpoint的频率 否 保存Checkpoint的频率,以Epoch为单位。取值为1表示每完成一次训练就保存一次Checkpoint。 1 执行调优 优化方法 否 模型训练的优化方法,支持以下取值: - momentum:指sgd
- adam
momentum 读取训练数据线程数 否 读取训练数据的线程数量。 4 单机或分布式 否 选择运行模式: - single:单机MaxCompute。
此时,您还需要配置是否使用GPU,取值100表示1张GPU卡。如果不使用GPU,则需要将是否使用GPU配置为0。
- 分布式:分布式MaxCompute。
此时,您还需要配置以下参数:
- worker个数:并发的worker数量。
- CPU Core个数:每个Worker的CPU数目,取值100表示1核。
- memory大小:每个Worker的内存大小,单位为MB。
single - 输出桩
输出桩(从左到右) 数据类型 下游组件 输出模型 OSS路径。该路径是您在字段设置页签的训练oss目录参数配置的OSS路径,训练生成SavedModel格式的模型存储在该路径下。 通用图像预测
计算引擎
图像分割训练算法组件仅支持MaxCompute引擎。
示例
您可以使用图像分割训练算法组件构建如下工作流。
本示例中,您需要按照以下流程配置组件:

- 通过PAI提供的智能标注模块进行图片标注,详情请参见标注图像(打标、质检及验收)。
- 使用读OSS数据组件读取标注结果文件xxx.manifest,即配置读OSS数据组件的OSS数据路径参数为标注结果数据集的OSS路径。例如
oss://pai-online-shanghai.oss-cn-shanghai.aliyuncs.com/ev_demo/xxx.manifest
。 - 通过数据转tfrecord组件将数据集拆分为tfrecord格式的训练数据和评估数据,详情请参见数据转tfrecord。
- 将训练数据和评估数据接入图像分割训练算法组件,并配置具体参数,详情请参见上文的可视化配置组件。
- 将预测数据接入通用图像预测算法组件,进行离线推理,详情请参见通用图像预测。
- 将推理结果写入数据表中,详情请参见写数据表。例如写入test_image_Segment中,即将写数据表组件的数据表名参数配置为test_image_Segment。