对于图像训练类组件(例如图像分类训练、图像检测训练、图像分割训练、图像自监督训练、端到端文字识别训练组件)输出的模型,您可以使用通用图像预测组件对该模型进行离线推理,从而对输入数据进行相关预测。本文介绍通用图像预测组件的配置方法及使用示例。

前提条件

已开通OSS并完成授权,详情请参见开通OSS服务为PAI-Studio授予OSS访问权限

使用限制

仅PAI-Designer提供该算法组件。

算法简介

通用图像预测算法组件位于组件库音视觉算法文件夹下的离线模型预测子文件夹,该组件能够对所有图像训练类组件产出的模型进行百亿级别的离线推理。

可视化配置组件

  • 输入桩
    输入桩(从左到右) 限制数据类型 建议上游组件 是否必选
    输入表 MaxCompute表 读数据表
    预测使用的模型OSS路径 OSS 图像训练类组件(例如,图像分类训练图像检测训练图像分割训练图像自监督训练端到端的文字识别训练。)
  • 组件参数
    页签 参数 是否必选 描述 默认值
    字段设置 数据来源 系统支持以下数据来源:
    • Table:将用于预测的数据存储在MaxCompute表中。
    • OSS:将存储预测数据的文件存放在OSS中。
    Table
    模型oss路径 如果上游已接入图像训练类组件,则无需配置该参数。反之需要手动配置用于推理的模型OSS目录。
    输入oss文件路径 数据来源取值为OSS时,您需要配置输入图片的文件路径。例如oss://${bucket}.${host}/<path_to_your_file>
    输出oss文件路径 数据来源取值为OSS时,您需要配置保存预测结果的OSS路径。例如oss://${bucket}.${host}/<path_to_your_dir>
    输出oss资源目录 数据来源为OSS时,所有的图片和二进制数据都保存在该路径下,例如oss://${bucket}.${host}/<path_to_your_dir>
    模型类型 选择离线推理时使用的模型类型,支持以下取值:
    • feature_extractor:特征抽取。
    • classifier:图像分类。
    • detector:物体检测。
    • yolo5预测:YoloV5模型预测。
    • segmentor:图像分割。
    • text_detector:文字检测。
    • text_recognizer:文字行识别,是指给定一行文字的图像,识别其内容。
    • text_spotter:文字端到端识别,是指给定一张图,自动检测里面的文字并且识别其内容。
    classifier
    图片列名 数据来源取值为Table时,您需要选择输入表中图像数据所在列。
    图片格式 图片数据格式,支持以下取值:
    • base64:图片以Base 64编码存放在表内。
    • url:图片的URL或OSS路径存放在表内。
    base64
    保留列名 数据来源取值为Table时,您需要选择输入表中需要保留的列,这些列会输出到结果表中。
    结果列名 数据来源取值为Table时,您需要选择输出表的结果列。 result
    执行调优 预测worker数目 离线预测时使用的Worker数目。 2
    cpu资源 每个Worker使用的CPU资源数,100代表一个核。 800
  • 输出桩
    输出桩 数据类型 下游组件
    输出表 MaxCompute表 写数据表

计算引擎

通用图像预测算法组件仅支持MaxCompute引擎。

示例

以对图像分类训练组件输出的模型进行离线推理为例,且将预测数据存储在MaxCompute表中,您可以构建如下工作流。图像分类训练示例本示例中,您需要按照以下流程配置组件:
  1. 通过PAI提供的智能标注模块进行图片标注,详情请参见标注图像(打标、质检及验收)
  2. 使用读OSS数据组件读取标注结果文件xxx.manifest,即配置读OSS数据组件的OSS数据路径参数为标注结果数据集的OSS路径。例如oss://pai-online-shanghai.oss-cn-shanghai.aliyuncs.com/ev_demo/xxx.manifest
  3. 通过数据转tfrecord组件将数据集拆分为tfrecord格式的训练数据和评估数据,详情请参见数据转tfrecord
  4. 将训练数据和评估数据接入图像分类训练算法组件,并配置具体参数,详情请参见图像分类训练
  5. 通过MaxCompute客户端的Tunnel命令将预测的输入数据集上传至MaxCompute,再将读数据表组件的表名参数配置为该MaxCompute表。关于MaxCompute客户端的安装及配置请参见MaxCompute客户端(odpscmd),关于Tunnel命令详情请参见Tunnel命令
  6. 通过通用图像预测组件进行离线推理,由于上游是图像分类训练组件,因此您需要注意以下参数配置,其他参数使用默认值或根据实际情况进行配置,详情请参见上文的详情请参见可视化配置组件
    • 选择数据来源Table
    • 选择模型类型classifier
    • 选择图片列名为上一步中MaxCompute表中存储图片地址的列。
    • 选择保留列名图片列名,便于展示预测结果。
  7. 将预测的结果写入数据表中,详情请参见写数据表。例如写入test_image_inspection_cls中,即将写数据表组件的数据表名参数配置为test_image_inspection_cls
如果将存储预测数据的文件存放在OSS中,则可以单独使用通用图像预测组件,如下图所示。读写OSS您需要注意以下参数配置,其他参数使用默认值或根据实际情况进行配置,详情请参见上文的详情请参见可视化配置组件
  • 选择数据来源OSS
  • 配置输入oss文件路径为预测图片的文件路径。例如oss://${bucket}.${host}/<path_to_your_file>
  • 配置输出oss文件路径,系统会将预测结果保存在该OSS路径。例如oss://${bucket}.${host}/<path_to_your_dir>