
# 创建ModelArts数据选择任务
#### 前提条件
- 数据已准备完成：已经创建数据集或者已经将数据上传至OBS。
- 确保您使用的OBS与ModelArts在同一区域。
 
#### 创建数据处理任务
1. 登录[ModelArts控制台](https://console.huaweicloud.com/modelarts)，在左侧的导航栏中选择"数据准备 \> 数据处理"，进入"数据处理"页面。
2. 在"数据处理"页面，单击"创建"进入"创建数据处理"页面。
3. 在创建数据处理页面，填写相关算法参数。
   1. 填写基本信息。基本信息包括"名称"、"版本"和"描述"。其中"版本"信息由系统自动生成，按"V0001"、"V0002"规则命名，用户无法修改。 您可以根据实际情况填写"名称"和"描述"信息。
      
   
   2. 设置场景类别。场景类别当前支持"图像分类"和"物体检测"。
   
   3. 设置数据处理类型"数据选择"，填写相应算子的设置参数，算子的详细参数参见[数据去重算子（SimDeduplication算子）]和[数据去冗余算子（RRD算子）]。
   
   4. 设置输入与输出。需根据实际数据情况选择"数据集"或"OBS目录"。设置为"数据集"时，需填写"数据集名称"和"数据集版本"；设置为"OBS目录"时，需填写正确的OBS路径。
      图1输入输出设置-数据集   
      ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000001987867942.png "点击放大")
      图2输入输出设置-OBS目录   
      ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002024267957.png "点击放大") 
   
   5. 确认参数填写无误后，单击"创建"，完成数据处理任务的创建。
    
 
 #### 数据去重算子（SimDeduplication算子）
可以依据用户设置的相似程度阈值完成图像去重处理。图像去重是图像数据处理常见的数据处理方法。图像重复指图像内容完全一样，或者有少量的尺度、位移、色彩、亮度变化，或者是添加了少量其他内容等。
图3SimDeduplication效果图   
![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000001987708178.png "点击放大")
表1高级参数说明 
| 参数名                 | 是否必选 | 默认值  | 参数说明                                              |
|:---|:---|:---|:---|
| simlarity_threshold | 否    | 0.9  | 相似程度阈值，两张图片间的相似度大于阈值时，其中一张会作为重复图片被过滤掉。取值范围为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"
    }
    ]
    }
    ```
    
   
 
 #### 数据去冗余算子（RRD算子）
可以依据用户设置的比例去除差异最大的数据。
图4RRD效果图   
![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002024387469.png "点击放大")
表2高级参数说明 
| 参数名           | 是否必选 | 默认值  | 参数说明                                               |
|:---|:---|:---|:---|
| sample_ratio  | 否    | 0.9  | 数据留下的百分比。取值范围为0\~1。例如0.9表示保留百分之90的原数据。             |
| n_clusters    | auto | auto | 数据样本的种类数，默认为auto，即按照目录中图片个数取类别总数，可指定具体类别数，如 4      |
| 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"
    }
    ]
    }
    ```
    
   
 
