更新时间:2024-08-16 GMT+08:00
分享

创建ModelArts数据清洗任务

前提条件

  • 数据已准备完成:已经创建数据集或者已经将数据上传至OBS。
  • 确保您使用的OBS与ModelArts在同一区域。

创建数据处理任务

  1. 登录ModelArts管理控制台,在左侧的导航栏中选择“数据管理>数据处理”,进入“数据处理”页面。
  2. “数据处理”页面,单击“创建”进入“创建数据处理”页面。
  3. 在创建数据处理页面,填写相关算法参数。
    1. 填写基本信息。基本信息包括“名称”“版本”“描述”。其中“版本”信息由系统自动生成,按“V0001”“V0002”规则命名,用户无法修改。
      您可以根据实际情况填写“名称”“描述”信息。
      图1 创建数据处理基本信息
    2. 设置场景类别。场景类别当前支持“图像分类”“物体检测”
    3. 设置数据处理类型选择“数据校验”,填写相应算子的设置参数,算子的详细参数参见数据清洗算子(PCC算子)
      图2 设置场景类别和数据处理类型
    4. 设置输入与输出。需根据实际数据情况选择“数据集”“OBS目录”。设置为“数据集”时,需填写“数据集名称”“数据集版本”;设置为“OBS目录”时,需填写正确的OBS路径。
      图3 输入输出设置-数据集
      图4 输入输出设置-OBS目录
    5. 确认参数填写无误后,单击“创建”,完成数据处理任务的创建。

数据清洗算子(PCC算子)

ModelArts的数据清洗通过PCC算子实现。图像分类或者物体检测的数据集中可能存在非所需类别的图像,需要将这些图像去除掉,以免对标注、模型训练造成干扰。

图5 PCC算子效果
  • 参数说明
    表1 数据清洗-PCC算子参数说明

    参数名

    是否必选

    默认值

    参数说明

    prototype_sample_path

    None

    数据清洗正样例目录。目录应存放正样例图片文件,算法将这些图片为正样例,对输入中的数据进行过滤,即保留与“prototype_sample_path”目录下图片相似度高的数据。

    请输入一个真实存在的OBS目录,且目录下已包含提供的正样例图片,且以obs://开头。如:obs://obs_bucket_name/folder_name

    criticism_sample_path

    None

    数据清洗负样例目录。目录应存放负样例图片文件,算法将这些图片为负样例,对算法输入中的数据进行过滤, 即保留与“criticism_sample_path”目录下图片相似度差距较大的数据。

    建议该参数和“prototype_sample_path”配合使用,可以提高数据清洗的准确性。

    请输入一个真实存在的OBS目录,且以obs://开头。如:obs://obs_bucket_name/folder_name

    n_clusters

    auto

    数据样本的种类数,默认值auto。您可以输入小于样本总数的整数或auto。auto表示使用正样本目录的图片个数作为数据样本的种类数。

    simlarity_threshold

    0.9

    相似度阈值。两张图片相似程度超过阈值时,判定为相似图片,反之按非相似图片处理。输入取值范围为0~1。

    embedding_distance

    0.2

    样本特征间距。两张图片样本特征间距小于设定值,判定为相似图片,反之按非相似图片处理。输入取值范围为0~1。

    do_validation

    True

    是否进行数据校验,可填True或者False。表示数据清洗前需要进行数据校验,否则只进行数据清洗。

  • 输入要求

    算子输入分为两种,“数据集”“OBS目录”

    • 选择“数据集”,请从下拉框中选择ModelArts中管理的数据集及其版本。要求数据集类型与您在本任务中选择的场景类别一致。
    • 选择“OBS目录”,存放结构又分两种情况,“仅包含图片”“包含图片和标注信息”
      • “仅包含图片”:当目录下全是图片时,支持jpg、jpeg、png、bmp格式,嵌套子目录的图片也将全部读入。
      • “包含图片和标注信息”:根据不同场景类型,结构不同。

        图像分类场景,其目录结构如下所示。如下目录结构,仅支持单标签场景。

        input_path/
            --label1/
                ----1.jpg
            --label2/
                ----2.jpg
            --../

        物体检测场景,其目录结构如下所示。支持jpg、jpeg、png、bmp格式的图片,xml为标准的PACAL VOC格式标注文件。

        input_path/
            --1.jpg
            --1.xml
            --2.jpg
            --2.xml
            ...
  • 输出说明
    • 图像分类

      输出数据的目录结构如下所示。

      output_path/
          --Data/
              ----class1/  # 如果输入数据有标注信息会一并输出,class1为标注类别
                  ------1.jpg
              ----class2/
                  ------2.jpg
              ----3.jpg
          --output.manifest

      其中manifest文件内容示例如下所示。

      {
      	"id": "xss",
      	"source": "obs://home/fc8e2688015d4a1784dcbda44d840307_14.jpg",
      	"usage": "train", 
      	"annotation": [
      		{
      			"name": "Cat", 
      			"type": "modelarts/image_classification"
      		}
      	]
      }
    • 物体检测

      输出数据的目录结构如下所示。

      output_path/
          --Data/
              ----1.jpg
              ----1.xml  # 如果输入数据有标注信息会一并输出,xml为标注文件
              ----2.jpg
              ----3.jpg
          --output.manifest

      其中manifest文件内容示例如下所示。

      {
      	"source":"obs://fake/be462ea9c5abc09f.jpg",
      	"annotation":[
      		{
      			"annotation-loc":"obs://fake/be462ea9c5abc09f.xml",
      			"type":"modelarts/object_detection",
      			"annotation-format":"PASCAL VOC",
      			"annotated-by":"modelarts/hard_example_algo"
      		}
      	]
      }

相关文档