从OBS目录导入的规范说明
导入数据集时,使用存储在OBS的数据时,数据的存储目录以及文件名称需满足ModelArts的规范要求。
当前只有“图像分类”、“物体检测”、“文本分类”、“表格”和“声音分类”类型的数据集,支持从OBS目录导入数据。其中,“表格”类型的数据集,支持从OBS、DWS、DLI和MRS等数据源导入数据。
从OBS目录导入数据时,当前操作用户需具备此OBS路径的读取权限。
图像分类
- 图像分类的数据支持两种格式,第一种方式(目录方式)只支持单标签。第二种方式(txt标签文件)支持多标签。
- 相同标签的图片放在一个目录里,并且目录名字即为标签名。当存在多层目录时,则以最后一层目录为标签名。
dataset-import-example ├─Cat │ 10.jpg │ 11.jpg │ 12.jpg │ └─Dog 1.jpg 2.jpg 3.jpg
- 当目录下存在对应的txt文件时,以txt文件内容作为图像的标签,优先级高于第一种格式。
示例如下所示,import-dir-1和imort-dir-2为导入子目录。
dataset-import-example ├─import-dir-1 │ 10.jpg │ 10.txt │ 11.jpg │ 11.txt │ 12.jpg │ 12.txt └─import-dir-2 1.jpg 1.txt 2.jpg 2.txt
单标签的标签文件示例,如1.txt文件内容如下所示:
Cat
多标签的标签文件示例,如1.txt文件内容如下所示:
Cat Dog
- 相同标签的图片放在一个目录里,并且目录名字即为标签名。当存在多层目录时,则以最后一层目录为标签名。
- 只支持JPG、JPEG、PNG、BMP格式的图片。单张图片大小不能超过5MB,且单次上传的图片总大小不能超过8MB。
物体检测
- 物体检测的简易模式要求用户将标注对象和标注文件存储在同一目录,并且一一对应,如标注对象文件名为“IMG_20180919_114745.jpg”,那么标注文件的文件名应为“IMG_20180919_114745.xml”。
物体检测的标注文件需要满足PASCAL VOC格式,格式详细说明请参见表8。
示例:
├─dataset-import-example │ IMG_20180919_114732.jpg │ IMG_20180919_114732.xml │ IMG_20180919_114745.jpg │ IMG_20180919_114745.xml │ IMG_20180919_114945.jpg │ IMG_20180919_114945.xml
标注文件的示例如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <annotation> <folder>NA</folder> <filename>bike_1_1593531469339.png</filename> <source> <database>Unknown</database> </source> <size> <width>554</width> <height>606</height> <depth>3</depth> </size> <segmented>0</segmented> <object> <name>Dog</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <occluded>0</occluded> <bndbox> <xmin>279</xmin> <ymin>52</ymin> <xmax>474</xmax> <ymax>278</ymax> </bndbox> </object> <object> <name>Cat</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <occluded>0</occluded> <bndbox> <xmin>279</xmin> <ymin>198</ymin> <xmax>456</xmax> <ymax>421</ymax> </bndbox> </object> </annotation>
- 只支持JPG、JPEG、PNG、BMP格式的图片,单张图片大小不能超过5MB,且单次上传的图片总大小不能超过8MB。
图像分割
- 图像分割的简易模式要求用户将标注对象和标注文件存储在同一目录,并且一一对应,如标注对象文件名为“IMG_20180919_114746.jpg”,那么标注文件的文件名应为“IMG_20180919_114746.xml”。
图像分割的标注文件基于PASCAL VOC格式增加了字段mask_source和mask_color,格式详细说明请参见表4。
示例:
├─dataset-import-example │ IMG_20180919_114732.jpg │ IMG_20180919_114732.xml │ IMG_20180919_114745.jpg │ IMG_20180919_114745.xml │ IMG_20180919_114945.jpg │ IMG_20180919_114945.xml
标注文件的示例如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <annotation> <folder>NA</folder> <filename>image_0006.jpg</filename> <source> <database>Unknown</database> </source> <size> <width>230</width> <height>300</height> <depth>3</depth> </size> <segmented>1</segmented> <mask_source>obs://xianao/out/dataset-8153-Jmf5ylLjRmSacj9KevS/annotation/V001/segmentationClassRaw/image_0006.png</mask_source> <object> <name>bike</name> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <mask_color>193,243,53</mask_color> <occluded>0</occluded> <polygon> <x1>71</x1> <y1>48</y1> <x2>75</x2> <y2>73</y2> <x3>49</x3> <y3>69</y3> <x4>68</x4> <y4>92</y4> <x5>90</x5> <y5>101</y5> <x6>45</x6> <y6>110</y6> <x7>71</x7> <y7>48</y7> </polygon> </object> </annotation>
文本分类
文本分类支持导入“txt”和“csv”两种文件类型,文本的编码格式支持“UTF-8”和“GBK”。
文本分类的标注对象和标注文件有2种存放模式。
- 文本和标注合并:文本分类的标注对象和标注内容在一个文本文件内,标注对象与标注内容之间,多个标注内容之间可分别指定分隔符。
- 文本和标注分离:文本分类的标注对象和标注文件均为文本文件,并且以行数进行对应,如标注文件中的第一行表示的是标注对象文件中的第一行的标注。
例如,标注对象“COMMENTS_20180919_114745.txt”的内容如下所示。
手感很好,反应速度很快,不知道以后怎样 三个月前买了一个用的非常好果断把旧手机替换下来尤其在待机方面秒杀 没充一会电源怎么也会发热呢音量健不好用回弹不好 算是给自己的父亲节礼物吧物流很快下单不到24小时就到货了耳机更赞有些低音炮的感觉入耳很紧不会掉棒棒哒
标注文件“COMMENTS_20180919_114745_result.txt”的内容。
positive negative negative positive
此数据格式要求将标注对象和标注文件存储在同一目录,并且一一对应,如标注对象文件名为“COMMENTS_20180919_114745.txt”,那么标注文件名为“COMMENTS _20180919_114745_result.txt”。
数据文件存储示例:
├─dataset-import-example │ COMMENTS_20180919_114732.txt │ COMMENTS _20180919_114732_result.txt │ COMMENTS _20180919_114745.txt │ COMMENTS _20180919_114745_result.txt │ COMMENTS _20180919_114945.txt │ COMMENTS _20180919_114945_result.txt
声音分类
声音分类要求用户将相同标签的声音文件放在一个目录里,并且目录名字即为标签名。
示例:
dataset-import-example ├─Cat │ 10.wav │ 11.wav │ 12.wav │ └─Dog 1.wav 2.wav 3.wav
表格
表格支持从4种数据源导入数据,分别为对象存储服务(OBS)、数据仓库服务(DWS)、数据湖探索服务(DLI)、MapReduce服务(MRS)。
导入说明:
- 导入成功的前提是,数据源的schema需要与创建数据集指定的schema保持一致。其中schema指表格的列名和类型,创建数据集时一旦指定,不支持修改。
- 数据格式不合法,会将数据置为null,详见表4。
- 从OBS或者MRS导入csv文件,不会校验数据类型,但是列数需要跟数据集的schema保持一致。
下面分别介绍如下几种数据源导入:
- 从OBS导入数据
支持从OBS导入csv文件,需要选择文件所在目录,其中csv文件的列数需要跟数据集schema一致。支持自动获取csv文件的schema。
├─dataset-import-example │ table_import_1.csv │ table_import_2.csv │ table_import_3.csv │ table_import_4.csv
- 从DWS导入数据
从DWS导入数据,用户需要选择对应的DWS集群,并输入需要对应的数据库名、表名以及用户名和密码。所导入表的schema(列名和类型)需要跟数据集相同。
- 从DLI导入数据
从DLI导入数据,用户需要选择DLI队列、数据库和表名称。所选择的表的schema(列名和类型)需与数据集一致,支持自动获取所选择表的schema。DLI的default队列只用作体验,不同帐号间可能会出现抢占的情况,需进行资源排队,不能保证每次都可以得到资源执行相关操作。DLI支持schema映射的功能,即导入的表的schema的字段名称可以不和数据集相同,但类型要保持一致。
- 从MRS导入数据
只支持从分析集群导入数据,流式集群不支持导入。从MRS服务中导入存储在HDFS上的csv格式的数据,首先需要选择已有的MRS集群,并从HDFS文件列表选择文件名称或所在目录,导入文件的列数需与数据集schema一致。