
人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载导读本文是 PaddleX 时序异常检测Time Series Anomaly Detection任务模块的数据准备与标注教程面向需要构建私有时序异常检测数据集的开发者。时序异常检测是一个无监督学习任务其数据组织方式与图像分类、目标检测等有监督任务截然不同训练集不需要人工标注验证集则需要逐点标注异常标签。读完本文你将掌握 PaddleX 时序异常检测数据集的 CSV 组织规范、训练集与验证集的标注规则、基于 Demo 数据集的格式校验与划分流程以及如何让私有数据顺利通过 PaddleX 的数据校验并进入训练、评估和推理的完整链路。一、任务特性决定的数据标注策略时序异常检测的目标是从历史时序数据中识别出不符合预期模式、趋势或周期性规律的异常点或异常时段这些异常可能由系统故障、外部冲击、数据录入错误或罕见事件引起。由于训练阶段模型只学习正常数据的模式分布异常检测天然被设计为无监督学习任务因此训练数据无需标注。从 PaddleX 时序异常检测模块教程 以及 AutoEncoder_ad 配置文件 可以看到该模块的训练配置中包含feature_cols特征列与label_col标签列说明数据集以 CSV 文件承载特征与标签模型根据特征列判断每个时间点是否异常标签列仅用于评估。1.1 训练集只收集正常数据训练样本应尽可能全部为正常数据即数据中没有异常点。在训练集中表示异常的标签列label可以全部设置为00 表示无异常或者完全省略标签列。两种方式都是允许的因为无监督训练过程本身不依赖标签监督信号。1.2 验证集逐点标注验证集用于评估模型精度因此必须进行标注在某个时间点是异常的点将该时间点的标签设置为1其他正常时间点的标签设置为0。验证集标注质量直接影响precision、recall、f1_score等评估指标的可靠性因此在标注异常点时应结合业务场景明确异常的判定口径例如设备过热、流量突增、交易行为异常等。二、数据集 CSV 组织规范PaddleX 时序异常检测模块要求数据集以CSV 格式组织目录下必须同时存在train.csv与val.csv两个文件。这一点可以由 check_dataset.py 的源码确认校验逻辑会依次查找train.csv与val.csv缺失任何一个都会抛出DatasetFileNotFoundError。一个标准的时序异常检测 CSV 文件应包含以下列列名说明是否必须timestamp时间戳列用于标识每个时间点默认列名为timestamp由time_col参数指定是feature_0,feature_1, ...特征列表示与设备/系统是否异常相关的变量默认列名为feature_0, feature_1由feature_cols参数指定可多个逗号分隔是label标签列1 表示异常点0 表示正常点由label_col参数指定训练集可省略验证集必须以 AutoEncoder_ad.yaml 中的训练参数为例默认配置为Train: time_col: timestamp feature_cols: feature_0,feature_1 label_col: label freq: 1 input_len: 96 epochs_iters: 20 batch_size: 16 learning_rate: 0.0005 log_interval: 10各参数的核心含义如下time_col时间列名称需与你的数据保持一致feature_cols特征列名称多个特征用逗号分隔应选择与异常判定相关的变量label_col标签列名称1 表示异常0 表示正常freq时间频率支持1min、5min、1h等按数据实际采样频率设置input_len输入到模型的时序长度模型会按该长度对时序进行切片判断该段内是否存在异常。例如input_len96表示预测 96 个时间点内是否存在异常epochs_iters/batch_size/learning_rate训练轮数、批大小与初始学习率。关于input_len与feature_cols、label_col的详细说明可参考 PaddleX 时序任务模型配置文件参数说明。校验通过后生成的check_dataset_result.json会展示数据的表头与前 10 行示例例如官方 Demo 数据集的表头为timestamp, feature_0, ..., feature_24, label即 25 维特征加 1 个标签列与上述组织规范一致。三、从 Demo 数据集开始下载与校验PaddleX 为每个模块提供了官方 Demo 数据集可用于完整跑通开发流程。下载并解压时序异常检测示例数据wget https://paddle-model-ecology.bj.bcebos.com/paddlex/data/ts_anomaly_examples.tar -P ./dataset tar -xf ./dataset/ts_anomaly_examples.tar -C ./dataset/解压后目录内应包含train.csv与val.csv。随后使用一条命令完成数据校验python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modecheck_dataset \ -o Global.dataset_dir./dataset/ts_anomaly_examples命令成功运行后日志中会打印Check dataset passed !。校验结果保存在./output/check_dataset_result.json相关产出含示例时序序列保存在./output/check_dataset目录下。3.1 校验结果解读校验结果文件内容示例如下{ done_flag: true, check_pass: true, attributes: { train_samples: 22032, train_table: [ [timestamp, feature_0, ..., feature_24, label], [0.0, 0.7326893750079723, ..., 0.1382488479262673, 0.0] ], val_samples: 198290, val_table: [ [timestamp, feature_0, ..., feature_24, label], [22032.0, 0.8604795809835284, ..., 0.1428571428571428, 0.0] ] }, analysis: {histogram: }, dataset_path: ./dataset/ts_anomaly_examples, show_type: csv, dataset_type: TSADDataset }关键字段含义check_pass: true数据集格式符合要求只有通过校验的数据才可以用于训练和评估attributes.train_samples训练集样本数示例为 22032attributes.val_samples验证集样本数示例为 198290attributes.train_table/attributes.val_table训练集/验证集前 10 行示例数据dataset_type: TSADDataset数据集被识别为时序异常检测数据集类型。从源码 check_dataset.py 可以看到该校验过程会统计train.csv与val.csv的行数sample_cnts、读取表头与前 10 行数据并在output/demo_data下生成train.csv、val.csv的示例片段用于人工抽检数据格式。3.2 私有数据如何通过校验如果你的私有数据也遵循上述 CSV 组织规范时间列 特征列 验证集标签列即可通过校验。需要特别强调的是训练集可以省略label列但验证集必须有完整的label列否则无法评估模型在异常点上的检出能力。四、可选操作数据集格式转换与划分完成数据校验后可以通过修改配置文件或追加命令行参数的方式对数据集进行格式转换或重新划分训练/验证比例。4.1 数据集格式转换时序异常检测支持将xlsx和xls格式的数据集转换为csv格式。相关参数位于配置文件的CheckDataset字段下CheckDataset: convert: enable: True src_dataset_type: null修改配置后执行python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modecheck_dataset \ -o Global.dataset_dir./dataset/ts_anomaly_examples也可以通过命令行追加参数实现同样的效果python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modecheck_dataset \ -o Global.dataset_dir./dataset/ts_anomaly_examples \ -o CheckDataset.convert.enableTrue参数说明CheckDataset.convert.enable是否进行数据集格式转换支持xlsx/xls转CSV默认FalseCheckDataset.convert.src_dataset_type转换时无需设置源数据集格式默认null。4.2 数据集重新划分如需调整训练/验证比例例如训练集 90%、验证集 10%修改配置如下CheckDataset: split: enable: True train_percent: 90 val_percent: 10随后执行python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modecheck_dataset \ -o Global.dataset_dir./dataset/ts_anomaly_examples同样支持命令行追加参数python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modecheck_dataset \ -o Global.dataset_dir./dataset/ts_anomaly_examples \ -o CheckDataset.split.enableTrue \ -o CheckDataset.split.train_percent90 \ -o CheckDataset.split.val_percent10参数说明CheckDataset.split.enable是否重新划分数据集默认FalseCheckDataset.split.train_percent训练集百分比0-100 之间的整数需保证与val_percent之和为 100CheckDataset.split.val_percent验证集百分比0-100 之间的整数需保证与train_percent之和为 100。注意数据划分执行之后原有标注文件会在原路径下被重命名为xxx.bak请确认原始数据有备份需求时再执行此操作。五、校验通过后的完整开发链路数据校验只是第一步。私有数据集通过校验后即可无缝接入 PaddleX 的训练、评估与推理流程全部通过 main.py 加配置文件的统一入口完成。5.1 模型训练python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modetrain \ -o Global.dataset_dir./dataset/ts_anomaly_examples常用训练参数调整方式指定前 2 卡 GPU 训练-o Global.devicegpu:0,1设置训练轮数为 10-o Train.epochs_iters10指定输出目录-o Global.output...默认output使用 GPU 训练时可开启 Paddle 3.0 的 CINN 神经网络编译器加速-o Train.dy2stTrue。训练完成后输出目录下通常包含train_result.json训练结果记录、train.log训练日志、config.yaml本次训练超参数配置、best_accuracy.pdparams.tar、scaler.pkl、.checkpoints、.inference等权重相关文件。5.2 模型评估python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modeevaluate \ -o Global.dataset_dir./dataset/ts_anomaly_examples如需指定评估权重可通过-o Evaluate.weight_path./output/best_model/model.pdparams覆盖默认权重路径。评估完成后产出evaluate_result.json记录f1、recall、precision三项指标——这也正是验证集需要完整标签标注的原因。5.3 模型推理python main.py -c paddlex/configs/modules/ts_anomaly_detection/AutoEncoder_ad.yaml \ -o Global.modepredict \ -o Predict.model_dir./output/inference \ -o Predict.inputts_ad.csv推理输入支持本地文件路径、URL、本地目录以及pandas.DataFrame等多种形式推理结果为每个时间点的label1 表示预测异常0 表示预测正常。5.4 模块级快速集成不经过训练流程、直接使用 PaddleX 内置预训练模型时几行 Python 代码即可完成推理from paddlex import create_model model create_model(model_nameAutoEncoder_ad) output model.predict(ts_ad.csv, batch_size1) for res in output: res.print() res.save_to_csv(save_path./output/) res.save_to_json(save_path./output/res.json)输出结果示例如下{res: {input_path: ts_ad.csv, anomaly: label timestamp 220226 1 220227 1 220228 0 220229 1 220230 1 ... ... 220321 1 [96 rows x 1 columns]}}input_path表示输入时序文件路径anomaly为异常检测结果1 表示预测异常0 表示预测正常。create_model支持通过model_name指定 PaddleX 内置模型或通过model_dir指定自定义训练模型支持device如gpu:0、npu:0、cpu、use_hpip、hpi_config等推理参数。PaddleX 时序异常检测模块内置模型可在 model_list.py 中查看包括AutoEncoder_ad、DLinear_ad、Nonstationary_ad、PatchTST_ad、TimesNet_ad五款模型均可按上述方式任意切换使用。六、模型选型与验证集标注建议PaddleX 时序异常检测模块当前提供多款模型各模型在精度、召回与模型体积上各有侧重下表数据来自 模块使用教程指标在 PSM 数据集上测得模型名称precisionrecallf1_score模型存储大小MB特点DLinear_ad0.98980.39 / 0.160.69 / 0.080.1结构简单、高效易用Nonstationary_ad0.98551.94 / 1.165.31 / 1.661.5基于 Transformer优化非平稳序列AutoEncoder_ad0.99360.24 / 0.130.41 / 0.050.052经典自编码结构轻量易用PatchTST_ad0.98782.10 / 0.556.98 / 0.630.164兼顾局部模式与全局依赖高精度结合上述评估指标的设计验证集标注时需要注意异常点通常远少于正常点类别严重不均衡因此recall异常检出率与f1_score比单纯的precision更能反映模型的实际异常检测能力。标注时应确保验证集中的异常时段覆盖不同类型的异常模式突变、缓变、周期性偏离等避免评估指标失真。七、小结与后续学习路径时序异常检测的数据准备遵循训练集无监督、验证集逐点标注的原则训练集收集纯正常数据标签列置 0 或省略验证集对异常时间点标注 1、正常时间点标注 0并以train.csvval.csv的 CSV 形式组织。通过check_dataset校验后即可进入训练、评估与推理链路若数据为xlsx/xls格式或划分比例不理想可使用格式转换与数据集划分功能。建议继续阅读的仓库文档PaddleX 时序异常检测模块使用教程完整覆盖模型列表、快速集成、二次开发全流程PaddleX 时序任务模型配置文件参数说明time_col、feature_cols、label_col、input_len等参数的详细语义PaddleX 时序异常检测产线教程将训练好的模型接入产线并支持服务化部署、高性能推理与多硬件切换时序异常检测数据标注中文版中文对照说明源码参考数据集校验实现、AutoEncoder_ad 配置文件、模型列表。赞分享人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载相关推荐PaddleX 时序异常检测数据标注教程无监督训练的数据集规范与标签设计PaddleX 时序异常检测数据标注教程无监督训练的数据集规范与标签设计 时序异常检测Time Series Anomaly Detection的目标是识人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音PaddleX 时序异常检测数据标注指南无监督训练集与 0/1 验证集标签规范PaddleX 时序异常检测数据标注指南无监督训练集与 0/1 验证集标签规范 时序异常检测是典型的无监督学习任务模型只依赖正常数据学习正常模式进而识人工智能大模型低代码计算机视觉深度学习NLP模型推理服务RAG微调语音PaddleX 目标检测任务数据准备全流程Labelme / PaddleLabel 标注与 COCO 数据集构建指南PaddleX 目标检测任务数据准备全流程Labelme / PaddleLabel 标注与 COCO 数据集构建指南 本文基于 PaddleX 开源仓库人工智能大模型低代码计算机视觉深度学习模型推理服务上一篇如何编写专业的AI Agent技能NVIDIA Agent Skills的SKILL.md结构与渐进式披露完整教程下一篇使用 boto3 实现 Amazon S3 Batch Operations 批处理任务全流程AWS SDK for Python 场景实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考