
# 创建ModelArts数据集
在ModelArts进行数据准备，首先需要先创建一个数据集，后续的操作如数据导入、数据分析、数据标注等，都是基于数据集来进行的。
![](https://support.huaweicloud.com/usermanual-standard-modelarts/public_sys-resources/note_3.0-zh-cn.png)
数据集功能仅在以下Region支持：华北-北京四、华北-北京一、华东-上海一、华南-广州、西南-贵阳一、中国-香港、亚太-新加坡、亚太-曼谷、亚太-雅加达、拉美-圣地亚哥、拉美-圣保罗一、拉美-墨西哥城二。
#### 数据集的类型
当前ModelArts支持如下格式的数据集。
- 图片：对图像类数据进行处理，支持 .jpg、.png、.jpeg、.bmp四种图像格式，支持用户进行图像分类、物体检测、图像分割类型的标注。
- 音频：对音频类数据进行处理，支持.wav格式，支持用户进行声音分类、语音内容、语音分割三种类型的标注。
- 文本：对文本类数据进行处理，支持.txt、.csv格式，支持用户进行文本分类、命名实体、文本三元组三种类型的标注。
- 视频：对视频类数据进行处理，支持.mp4格式，支持用户进行视频标注。
- 自由格式：管理的数据可以为任意格式，目前不支持标注，适用于无需标注或开发者自行定义标注的场景。如果您的数据集需存在多种格式数据，或者您的数据格式不符合其他类型数据集时，可选择自由格式的数据集。

- 表格 表格：适合表格等结构化数据处理。数据格式支持csv。不支持标注，支持对部分表格数据进行预览，但是最多支持100条数据预览。
  
 
 #### 不同类型数据集支持的功能列表
其中，不同类型的数据集支持不同的功能，如智能标注、团队标注等。详细信息参考[表1]。
 表1不同类型的数据集支持的功能 
| 数据集类型                                                            | 标注类型  | 创建数据集 | 导入数据 | 导出数据 | 发布数据集 | 修改数据集 | 管理版本 | **智能标注** | **团队标注** | 自动分组 | 数据特征 |
|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|:---|
| 图片   | 图像分类  | 支持    | 支持   | 支持   | 支持    | 支持    | 支持   | 支持       | 支持       | 支持   | 支持   |
| 图片   | 物体检测  | 支持    | 支持   | 支持   | 支持    | 支持    | 支持   | 支持       | 支持       | 支持   | 支持   |
| 图片   | 图像分割  | 支持    | 支持   | 支持   | 支持    | 支持    | 支持   | -        | -        | 支持   | -    |
| 音频                                                               | 声音分类  | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | -        | -    | -    |
| 音频                                                               | 语音内容  | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | -        | -    | -    |
| 音频                                                               | 语音分割  | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | 支持       | -    | -    |
| 文本                                                               | 文本分类  | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | 支持       | -    | -    |
| 文本                                                               | 命名实体  | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | 支持       | -    | -    |
| 文本                                                               | 文本三元组 | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | 支持       | -    | -    |
| 视频                                                               | 视频    | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | -        | -    | -    |
| 自由格式                                                             | 自由格式  | 支持    | -    | _    | 支持    | 支持    | 支持   | -        | -        | -    | -    |
| 表格                                                               | 表格    | 支持    | 支持   | -    | 支持    | 支持    | 支持   | -        | -        | -    | -    |
   
#### 规格限制
- 除表格类型之外的数据集（如视频、文本、音频等），单个数据集的最大样本数量限制：1000000，最大标签数量限制：10000。
- 除图片类型之外的数据集（如视频、文本、音频等），单个样本大小限制：5GB。
- 针对图片类数据集（物体检测、图像分类、图像分割），单个图片大小限制：25MB。
- 单个Manifest文件大小限制：5GB。
- 文本文件单行大小限制：100KB。
- 数据集标注结果文件大小限制：100MB。
 
#### 前提条件
- 数据集功能需要获取访问OBS权限，在未进行委托授权之前，无法使用此功能。在使用数据集功能之前，请前往"权限管理"页面，使用委托完成访问授权。
- 已创建用于存储数据的OBS桶及文件夹。并且，数据存储的OBS桶与ModelArts在同一区域。当前不支持OBS并行文件系统，请选择OBS对象存储。
- ModelArts不支持加密的OBS桶，创建OBS桶时，请勿开启桶加密。
 
#### 创建数据集（图片、音频、文本、视频、自由格式）
1. 登录[ModelArts控制台](https://console.huaweicloud.com/modelarts)，在左侧菜单栏中选择"资产管理\> 数据集"，进入数据集管理页面。
2. 单击"创建数据集"，进入"创建数据集"页面，根据数据类型以及数据标注要求，选择创建不同类型的数据集。填写数据集基本信息。
   图1参数填写   
   ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002024387529.png "点击放大")
   
   - 名称：数据集的名称，可自定义您的数据集。
   
   - 描述：该数据集的详情信息。
   
   - 数据类型：根据实际需求，选择对应的数据类型。
   
   - 数据来源：
     1. OBS导入数据 用户在OBS中有准备好的数据时，选择"OBS"、"导入路径"、"数据标注状态"和"标注格式"（当数据标注状态选择"已标注"时，需要填写该参数）和"数据集输出位置"。针对不同类型的数据集，数据输入支持的标注格式不同，ModelArts目前支持的标注格式及其说明请参见[不同类型数据集支持的功能列表]。
        
     
     2. 从AI Gallery下载数据 当用户没有准备数据时，可以从AI Gallery上下载数据创建数据集。选择"AI Gallery"并选中列表中的一个资产。
        - 下载至OBS桶位置（数据集输入位置）：选择一个空目录用来存储下载的数据集。
        
        - 数据集输出位置：数据集输出位置的OBS路径，此位置会存放输出的标注信息等文件，此位置不能和OBS数据源中的文件路径相同或为其子目录，请确保您的OBS文件名称以字母、数字或下划线命名。
        
        
        图2数据来源选择AI Gallery   
        ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002024268005.png "点击放大") 
     
     3. 从本地上传数据。 ModelArts还支持从本地上传数据。本地上传时选择"上传数据存储路径"、"数据标注状态"和"数据集输出路径"。单击"文件上传"，上传您本地的数据。并选择"标注格式"（当数据标注状态为"已标注"时，需要关注该参数）。针对不同类型的数据集，数据输入支持的标注格式不同，ModelArts目前支持的标注格式及其说明请参见[不同类型数据集支持的功能列表]。
        图3数据来源选择本地上传   
        ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002024387517.png "点击放大")
        图4数据来源选择本地上传   
        ![](https://support.huaweicloud.com/usermanual-standard-modelarts/figure/zh-cn_image_0000002047942934.png "点击放大")
        
        
        
      
   
   - 更多参数填写请参见[表2]。
      表2数据集的详细参数 
     | 参数名称         | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
     |:---|:---|
     | 导入路径         | 选择需要导入数据的OBS路径，此位置会作为数据集的数据存储路径。 说明： "导入路径"不支持OBS并行文件系统下的路径，请选择OBS对象桶。 创建数据集时，此OBS路径下的数据会导入数据集，后续如果直接在OBS中修改数据，会造成数据集的数据与OBS的数据不一致，可能导致部分数据不可用。如果需要在数据集中修改数据，建议使用[同步数据源](https://support.huaweicloud.com/usermanual-standard-modelarts/dataprepare-modelarts-0008.html#ZH-CN_TOPIC_0000001987867906__section2764112633219)或4章节[从OBS目录导入数据到数据集](https://support.huaweicloud.com/usermanual-standard-modelarts/dataprepare-modelarts-0012.html)功能。 超出数据集的样本和标签配额，会导致数据无法正常导入。                        |
     | 数据标注状态       | 选择数据的标注状态，分为"未标注"和"已标注"。 选择"已标注"时，需指定标注格式，并保证数据文件满足相应的格式规范，否则可能存在导入失败的情况。 仅图片（物体检测、图像分类、图像分割）、音频（声音分类）、文本（文本分类）类型的标注任务支持导入已标注数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
     | 数据集输出位置      | 选择数据集输出位置的OBS路径，此位置会存放输出的标注信息等文件。 说明： - 请确保您的OBS路径以字母、数字、下划线命名，不能包含特殊字符，例如：\~'@#$%\^\&\*{}\[\]:;+=\<\>/以及空格。  - "数据集输出位置"不能与"数据输入路径"为同一路径，且不能是"数据输入路径"的子目录。  - "数据集输出位置"建议选择一个空目录。    - "数据集输出位置"不支持OBS并行文件系统下的路径，请选择OBS对象桶。   |
     | 高级特征选项-按标签导入 | 默认关闭，可通过勾选高级选项提供增强功能。 如"按标签导入"：系统将自动获取此数据集的标签，您可以单击"添加标签"添加相应的标签。此字段为可选字段，您也可以在导入数据集后，在标注数据操作时，添加或删除标签。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
        
     
    
3. 参数填写完成，单击"提交"，即可完成数据集的创建。
 
#### 创建数据集（表格）
1. 登录[ModelArts控制台](https://console.huaweicloud.com/modelarts)，在左侧菜单栏中选择"资产管理\> 数据集"，进入数据集管理页面。
2. 单击"创建数据集"，进入"创建数据集"页面，根据数据类型以及数据标注要求，选择创建表格类型的数据集。填写数据集基本信息。 
   - 名称：数据集的名称，可自定义您的数据集。
   
   - 描述：该数据集的详情信息。
   
   - 数据类型：根据实际需求，选择对应的数据类型。
   
   - 更多参数填写请参考[表3]。
      表3数据集的详细参数 
     | 参数名称       | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     |:---|:---|
     | 数据源（"OBS"） | - "文件路径"：单击输入框右侧按钮，可打开当前账号下的所有OBS桶，请选择需要导入的数据文件所在目录。  - "导入是否包含表头"：默认开启，表示导入文件包含表头。 - 如果您的原始表格中已包含表头，开启时，会将导入文件的第一行（表头）作为列名，无需再手动修改Schema信息。  - 如果您的原始表格中没有表头，需手动关闭该开关，并更改Schema信息中的"列名"为attr_1、attr_2、......、attr_n，其中attr_n为最后一列，代表预测列。     OBS的详细功能说明，请参见《[OBS用户指南](https://support.huaweicloud.com/usermanual-obs/obs_41_0003.html)》。 |
     | 数据源（"MRS"） | - "集群名称"：系统自动将当前账号下的MRS集群展现在此列表中，但是流式集群不支持导入操作。请在下拉框中选择您所需的集群。  - "文件路径"：根据选择的集群，输入对应的文件路径，此文件路径为HDFS路径。  - "导入是否包含表头"：开启表示导入时将表头同时导入。   MRS的详细功能说明，请参见《[MRS用户指南](https://support.huaweicloud.com/mrs/index.html)》。                                                                                                                                                                                                                                                                                     |
     | 本地上传       | 上传数据存储路径：选择对应的数据存储的OBS路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     | Schema信息   | 表格的列名和对应类型，需要跟导入数据的列数保持一致。请根据您导入的数据输入"列名"，同时选择此列的"类型"。其中支持的类型见[表4]。 单击"添加Schema信息"，即可增加一行列。创建数据集时必须指定schema，且一旦创建不支持修改。 从OBS数据源导入数据，会自动获取文件路径下csv文件的schema，如果多个csv文件的schema不一致会报错。 说明： 从OBS选择数据后，Schema信息的列名会自动带出，且默认为表格中的第一行数据。为确保预测代码的正确性，请您手动更改Schema信息中的"列名"为attr_1、attr_2、......、attr_n，其中attr_n为最后一列，代表预测列。                                                                                                                                                                                                                                                                                  |
     | 数据集输出位置    | 选择表格数据存储路径（OBS路径），此位置会存放由数据源导入的数据。此位置不能和OBS数据源中的文件路径相同或为其子目录。 创建表格数据集后，在存储路径下会自动生成以下4个目录。 - annotation：版本发布目录，每次发布版本，会在此目录下生成和版本名称相同的子目录。  - data：数据存放目录，导入的数据会放在此目录。  - logs：日志存放目录。  - temp：临时工作目录。                                                                                                      |
        
      表4Schema数据类型说明 
     | 类型        | 描述                                        | 存储空间 | 范围                                       |
     |:---|:---|:---|:---|
     | String    | 字符串                                       | -    | -                                        |
     | Short     | 有符号整数                                     | 2字节  | -32768-32767                             |
     | Int       | 有符号整数                                     | 4字节  | -2147483648～2147483647                   |
     | Long      | 有符号整数                                     | 8字节  | -9223372036854775808～9223372036854775807 |
     | Double    | 双精度浮点型                                    | 8字节  | -                                        |
     | Float     | 单精度浮点型                                    | 4字节  | -                                        |
     | Byte      | 有符号整数                                     | 1字节  | -128-127                                 |
     | Date      | 日期类型，描述了特定的年月日，格式：yyyy-MM-dd，例如2014-05-29 | -    | -                                        |
     | Timestamp | 时间戳，表示日期和时间。格式：yyyy-MM-dd HH:mm:ss        | -    | -                                        |
     | Boolean   | 布尔类型                                      | 1字节  | TRUE/FALSE                               |
        
     ![](https://support.huaweicloud.com/usermanual-standard-modelarts/public_sys-resources/note_3.0-zh-cn.png)
     使用CSV文件时，需要注意以下两点：
     - 当数据类型选择String时，默认会把双引号内的数据当作一条，所以同一行数据需要保证双引号闭环，否则会导致数据过大，无法显示。
     
     - 当CSV文件的某一行的列数与定义的Schema不同，则会忽略当前行。
       
    
3. 参数填写完成后，单击"提交"，即可完成数据集的创建。
 
#### 修改数据集基本信息
1. 登录[ModelArts控制台](https://console.huaweicloud.com/modelarts)，在左侧菜单栏中选择"资产管理\>数据集"，进入"数据集"管理页面。
2. 在数据集列表中，单击操作列的"更多\>修改"。修改数据集基本信息，然后单击"确定"完成修改。
   表5参数说明 
   | 参数 | 说明                                                                 |
   |:---|:---|
   | 名称 | 数据集的名称，支持1\~64位可见字符。名称只能是字母、中文、数字、下划线或者中划线组成的合法字符串。且只能以字母或者中文字符开头。 |
   | 描述 | 数据集的简要描述。                                                          |
      
   
 
