华为云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文件夹下。 该参数在数据处理模块将根据页面选择自动填充。 |
输入要求
算子输入分为两种,“数据集”或“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)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家