华为云AI开发平台ModelArts数据选择(难例)_云淘科技

算法概述

在实际业务场景中,模型维护是一个长期的过程,比如说按照每周、每月进行数据重训练,或者累计数据至一定量时进行定期的重训练。如果将全量的数据用于重训练,需要耗费较大的标注人力和训练耗时。为了提升模型维护效率,可以采用基于难例数据的重训练 。

​难例筛选算法对全量数据进行分析并筛选,仅输出全量数据中少部分对于模型维护有价值的数据。基于筛选后的数据进行重训练,可以有效减少标注人力和训练耗时。

难例筛选算法中融合了多种方法,要达到最佳效果,需要根据实际数据选择部分或全部方法,并调整其权重。

参数说明

参数名

是否必选

默认值

参数说明

source_service

Y

inference

难例任务的前置数据来源,目前仅支持inference。此参数不可修改。

filter_func

Y

comprehensive_mining

难例筛选算法设置为“comprehensive_mining”。此参数不可修改。

checkpoint_path

Y

/home/work/user-job-dir/data_filter/resnet_v1_50

用于特征提取的模型目录,当前仅支持基于Imagenet预训练的resnet_v1_50模型,此参数目前暂时不可修改。

model_serving_url

N

None

推理模型路径。得出推理结果的模型文件路径, 即训练作业的输出路径。该模型会用于aug_consistent_mining算法中的数据增强再推理。

请输入一个真实存在的OBS目录,例如:obs://obs_bucket_name/folder_name/

train_data_path

N

None

训练数据集,model_serving_url模型使用的训练数据,需输入数据集版本生成的manifest。

请输入一个真实存在的OBS目录,例如:obs://obs_bucket_name/folder_name/v001.manifest

comprehensive_algo_config

N

clustering_mining:0.2020+aug_consistent_mining:0.4265+feature_distribution_mining:0.0451+sequential_mining:0.425+image_similarity_mining:0.0949+predict_score_mining:0.3900+anomaly_detection_mining:0.2020

使用的算法及其权重,默认使用系统实验后效果最佳参数,也可以根据不同的数据自行配置。

例如:predict_score_mining:0.3900+anomaly_detection_mining:0.2020

algo_hard_threshold

N

0.1

筛选系数的阈值设置。取值范围0~1。

由于过高阈值可能导致输出结果为0,建议合理填写。

aug_op_config

N

crop:0.1+fliplr:0.1+gaussianblur:0.1

aug_consistent_mining算法中用到的增强手段,支持crop、fliplr、gaussianblur、flipud、scale、translate、shear、superpixels、sharpen、add、invert。

feature_op_config

N

image_aspect_ratio:0.5+image_brightness:1.0+image_saturation:0.5+image_resolution:0.5+image_colorfulness:0.5+ambiguity:1.0+bbox_num:1.0+bbox_iou:1.0+bbox_std:0.5+bbox_bright:0.5+bbox_ambiguity:0.5+bbox_aspect_ratio:1.0+bbox_area_ratio:0.5+bbox_edge_value:0.5

feature_distribution_mining算法中定义的特征,可自行修改权重。

score_threshold_up

N

0.6

predict_score_mining算法中定义的置信度最高值。取值范围0~1。

score_threshold_low

N

0.3

predict_score_mining算法中定义的置信度最低值。取值范围0~1。

margin

N

0.8

top2置信度差值定义, 差值超过该阈值,则为难例。取值范围0~1,默认值为 0.8。

similarity_sample_ratio

N

1.0

image_similarity_mining算法中的相似比例定义。取值范围0~1,默认值为1.0。

task_summary_file

N

None

算法简化的日志输出路径及日志文件。请填写一个真实存在的OBS目录,以“obs://”开头。文件名称可自行定义。

例如:obs://obs_bucket_name/folder_name/xxx.log

output_dataset_type

N

manifest

支持directory和manifest类型。

directory:将原始图片和标签输出到结果目录的Data文件夹下。
manifest:仅输出manifest文件。

该参数在数据处理模块将根据页面选择自动填充。

输入要求

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

选择“数据集”,请从下拉框中选择ModelArts中管理的数据集及其版本。要求数据集类型与您在本任务中选择的场景类别一致。
选择“OBS目录”,目录下需包含用于推理的原始图片以及推理结果文件

其目录结构如下所示。

input_path/
    --images/ # 文件夹名称必须为images
        ----1.jpg
        ----2.jpg
    --inference_results/  # 文件夹名称必须为inference_results
        ----1.jpg_result.txt
        ----2.jpg_result.txt

其中,推理结果文件txt的内容需满足如下格式。如果使用ModelArts预置算法训练得到的模型进行推理,默认的推理结果已满足要求。

图像分类

{
    "predicted_label": "dog",
    "scores": [
        [
            "dog",
            "0.589"
        ],
        [
            "cat",
            "0.411"
        ]
    ]
}

物体检测

{
    "detection_classes": [
        "cat",
        "cat"
        ],
    "detection_boxes": [
        [
            117.56356048583984,
            335.9902648925781,
            270.50848388671875,
            469.0136413574219
        ],
        [
            18.747316360473633,
            13.10757064819336,
            217.25146484375,
            108.3551025390625
        ]
    ],
    "detection_scores": [
            0.5179755091667175,
            0.46941104531288147
        ]
}

输出说明

目标检测

输出目录结构如下所示。

output_path :
    --Data
        ----1.jpg
        ----1.xml      # 导出筛选结果至该目录下
    --output.manifest

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

{"source":"/tmp/test_out/object_detection/images/be462ea9c5abc09f.jpg",
"hard":"True",
"hard-reasons":"0",  # 判定该样本为难例的原因,具体原因目前只在智能标注模块展示
"hard-coefficient":"1.0", # 难例算法得到的难例系数,越大代表可能是难例的概率越大
"annotation":[
{"annotation-loc":"/tmp/test_out/object_detection/annotations/be462ea9c5abc09f.xml",
"type":"modelarts/object_detection",
"annotation-format":"PASCAL VOC",
"annotated-by":"modelarts/hard_example_algo"}]}

图像分类

输出目录结构如下所示。

output_path :
    --Data
        ----class1
            ------1.jpg
        ----class2
            ------2.jpg
    --output.manifest

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

{"source":"obs://obs_bucket_name/folder_name/catDog/5.jpg",
"hard":true,
"hard-reasons":"1-20-2-19-21-3",
"hard-coefficient":1.0,
"annotation":[
{"name":"cat",
"type":"modelarts/image_classification",
"confidence":0.599,
"annotated-by":"modelarts/hard_example_algo"}]}

日志文件说明

task_summary_file 为简化日志的输出文件路径,内容如下:

{
"task_status": 'SUCCEED', # 算法执行状态
"total_sample": integer,  # 输入样本总数
"hard_sample": integer    # 输出样本总数
}

或者是

{
"task_status": 'FAILED',
"error_message": 'xxxxxx' # 导致算法执行失败的异常信息
}

父主题: 预置算子说明

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家