云服务器内容精选

  • 数据校验算子说明(MetaValidation算子) ModelArts的数据校验通过MetaValidation算子实现。当前ModelArts支持jpg、jpeg、bmp、png四种图片格式。物体检测场景支持xml标注格式,不支持“非矩形框”标注。针对您提供的数据集,MetaValidation算子支持对图片和xml文件进行数据校验: 表1 图片类数据校验 异常情况 处理方案 图片本身损坏无法解码 过滤掉不能解码的图片 图片通道可能是1通道、2通道,不是常用的3通道 转换图片成RGB三通道 图片格式不在ModelArts支持的格式范围内 转换图片格式至jpg格式 图片后缀与实际格式不符,但格式在ModelArts支持的格式内 后缀转换成与实际格式一致 图片后缀与实际格式不符,且格式不在ModelArts支持的格式内 转换图片格式至jpg格式 图片分辨率过大 宽、高按指定大小同比例进行裁剪 表2 标注类文件数据校验 异常情况 处理方案 xml结构残缺,无法解析 过滤xml文件 xml中没有标注“object” 过滤xml文件 xml中没有矩形框“bndbox” 过滤xml文件 某些标注“object”中没有矩形框“bndbox” 过滤标注“object” 图片经过裁剪后,xml文件中宽高不符 修改错误宽高参数为图片真实宽高 xml中没有“width”、“height”字段 根据图片真实宽高补全xml中的“width”、“height”字段和值 图片经过裁剪后,xml中矩形框“bndbox”大小不符 按图片裁剪比例缩放xml文件中“bnxbox”值 xml中矩形框“bndbox”宽或高值过小,显示为一条线 矩形框宽或高差值小于2,移除当前“object” xml中矩形框“bndbox”最小值大于最大值 移除当前“object” 矩形框“bndbox”超出图片边界,且超出部分占框面积50%以上 移除当前“object” 矩形框“bndbox”超出图片边界,但超出部分小于框面积50% 矩形框“bndbox”拉回到图片边界 数据校验过程不会改动原始数据,通过校验的图片或xml文件保存在指定的输出路径下。 参数说明 表3 数据校验-MetaValidation算子参数说明 参数名 是否必选 默认值 参数说明 image_max_width 否 -1 输入图片宽度最大值,如果输入图片宽度超过设定值则按比例裁剪。单位为px。 默认值 -1 表示不做裁剪。 image_max_height 否 -1 输入图片长度最大值,如果输入图片长度超过设定值则按比例裁剪。单位为px。 默认值 -1 表示不做裁剪。 输入要求 算子输入分为两种,“数据集”或“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 ------2_checked.jpg ----class2/ ------3.jpg ------4_checked.jpg ----5_checked.jpg --output.manifest 其中manifest文件内容示例如下所示。会给每一条数据加上一个校验属性"property":{"@modelarts:data_checked":true} { "id": "xss", "source": "obs://hard_example_path/Data/fc8e2688015d4a1784dcbda44d840307_14_checked.jpg", "property": { "@modelarts:data_checked": true }, "usage": "train", "annotation": [ { "name": "Cat", "type": "modelarts/image_classification" } ] } 物体检测 在输出目录下,文件结构如下所示。 output_path/ --Data/ ----1_checked.jpg ----1_checked.xml # 如果输入数据在校验过程中经过了转换,文件名会加上'_checked' ----2.jpg # 如果输入数据未经过转换,则以原来的名字保存 ----2.xml --output.manifest 其中manifest文件内容示例如下所示。会给每一条数据加上一个校验属性"property":{"@modelarts:data_checked":true} { "source": "obs://hard_example_path/Data/be462ea9c5abc09f_checked.jpg", "property": { "@modelarts:data_checked": true }, "annotation": [ { "annotation-loc": "obs://hard_example_path/Data/be462ea9c5abc09f_checked.xml", "type": "modelarts/object_detection", "annotation-format": "PASCAL VOC", "annotated-by": "modelarts/hard_example_algo" } ] }
  • 数据去冗余算子(RRD算子) 可以依据用户设置的比例去除差异最大的数据。 图5 RRD效果图 表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" } ] }
  • 数据去重算子(SimDeduplication算子) 可以依据用户设置的相似程度阈值完成图像去重处理。图像去重是图像数据处理常见的数据处理方法。图像重复指图像内容完全一样,或者有少量的尺度、位移、色彩、亮度变化,或者是添加了少量其他内容等。 图4 SimDeduplication效果图 表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" } ] }
  • 数据处理场景介绍 ModelArts平台提供的数据处理功能,基本目的是从大量的、杂乱无章的、难以理解的数据中抽取或者生成对某些特定的人们来说是有价值、有意义的数据。当数据采集和接入之后,数据一般是不能直接满足训练要求的。为了保障数据质量,以免对后续操作(如数据标注、模型训练等)带来负面影响,开发过程通常需要进行数据处理。 常见的数据处理类型有以下四种: 数据校验:通常数据采集后需要进行校验,保证数据合法。 数据校验是指对数据可用性的基本判断和验证的过程。通常,用户采集的数据或多或少都会有很多格式问题,无法被进一步处理。以图像识别为例,用户经常会从网上找一些图片用于训练,但是其质量难以保证,有可能图片的名字、路径、后缀名都不满足训练算法的要求;图片也可能有部分损坏,造成无法解码、无法被算法处理的情况。因此,数据校验非常重要,可以帮助人工智能开发者提前发现数据问题,有效防止数据噪声造成的算法精度下降或者训练失败问题。 数据清洗:数据清洗是指对数据进行去噪、纠错或补全的过程。 数据清洗是在数据校验的基础上,对数据进行一致性检查,处理一些无效值。例如在深度学习领域,可以根据用户输入的正样本和负样本,对数据进行清洗,保留用户想要的类别,去除用户不想要的类别。 数据选择:数据选择一般是指从全量数据中选择数据子集的过程。 数据可以通过相似度或者深度学习算法进行选择。数据选择可以避免人工采集图片过程中引入的重复图片、相似图片等问题;在一批输入旧模型的推理数据中,通过内置规则的数据选择可以进一步提升旧模型精度。 数据增强: 数据扩增通过简单的数据扩增例如缩放、裁剪、变换、合成等操作直接或间接的方式增加数据量。 数据生成应用相关深度学习模型,通过对原数据集进行学习,训练生成新的数据集的方式增加数据量。 数据域迁移应用相关深度学习模型,通过对原域和目标域数据集进行学习,训练生成原域向目标域迁移的数据。 父主题: 处理ModelArts数据集中的数据