paddlets.models.anomaly.dl.anomaly_base
- class AnomalyBaseModel(in_chunk_len: int, sampling_stride: int = 1, loss_fn: ~typing.Optional[~typing.Callable[[...], ~paddle.Tensor]] = None, anomaly_score_fn: ~typing.Optional[~typing.Callable[[...], ~typing.List[float]]] = None, threshold: ~typing.Optional[float] = None, threshold_fn: ~typing.Optional[~typing.Callable[[...], float]] = None, threshold_coeff: float = 1.0, pred_adjust: bool = False, pred_adjust_fn: ~typing.Optional[~typing.Callable[[...], ~numpy.ndarray]] = None, optimizer_fn: ~typing.Callable[[...], ~paddle.optimizer.optimizer.Optimizer] = <class 'paddle.optimizer.adam.Adam'>, optimizer_params: ~typing.Dict[str, ~typing.Any] = {'learning_rate': 0.001}, eval_metrics: ~typing.List[str] = [], callbacks: ~typing.List[~paddlets.models.common.callbacks.callbacks.Callback] = [], batch_size: int = 128, max_epochs: int = 10, verbose: int = 1, patience: int = 4, seed: ~typing.Union[None, int] = None)[源代码]
基类:
ABC所有基于paddle的深度学习异常检测模型的基类
- 参数
in_chunk_len (int) – 模型输入的时间序列长度。
sampling_stride (int) – 相邻样本间的采样间隔。
loss_fn (Callable[..., paddle.Tensor]|None) – 损失函数。
anomaly_score_fn (Callable[..., List[float]]|None) – 获取异常分数的方法。
threshold (float|None) – 判断异常的阈值。
threshold_fn (Callable[..., float]|None) – 获取异常阈值的方法。
threshold_coeff (float) – 异常阈值的系数。
pred_adjust (bool) – 是否根据实际标签调整预测结果。
pred_adjust_fn (Callable[..., np.ndarray]|None) – 调整预测结果的方法。
optimizer_fn (Callable[..., Optimizer]) – 优化器算法。
optimizer_params (Dict[str, Any]) – 优化器参数。
eval_metrics (List[str]) – 模型的评估指标。
callbacks (List[Callback]) – 自定义的callback函数。
batch_size (int) – 每个批次中的样本数量。
max_epochs (int) – 训练过程中最大迭代轮数。
verbose (int) – 模型日志模式。
patience (int) – 模型训练过程中, 当评估指标超过一定轮数不再变优,模型提前停止训练。
seed (int|None) – 全局随机种子, 注: 保证每次模型参数初始化一致。
- _in_chunk_len
模型输入的时间序列长度。
- Type
int
- _sampling_stride
相邻样本间的采样间隔。
- Type
int
- _loss_fn
损失函数。
- Type
Callable[…, paddle.Tensor]|None
- _anomaly_score_fn
获取异常分数的方法。
- Type
Callable[…, paddle.Tensor]|None
- _threshold
判断异常的阈值。
- Type
float|None
- _threshold_fn
获取异常阈值的方法。
- Type
Callable[…, paddle.Tensor]|None
- _threshold_coeff
异常阈值的系数。
- Type
float
- _pred_adjust
是否根据实际标签调整预测结果。
- Type
float
- _pred_adjust_fn
调整预测结果的方法。
- Type
Callable[…, np.ndarray]|None
- _optimizer_fn
优化器算法。
- Type
Callable[…, Optimizer]
- _optimizer_params
优化器参数。
- Type
Dict[str, Any]
- _eval_metrics
模型的评估指标。
- Type
List[str]
- _batch_size
每个批次中的样本数量。
- Type
int
- _max_epochs
训练过程中最大迭代轮数。
- Type
int
- _verbose
模型日志模式。
- Type
int
- _patience
模型训练过程中, 当评估指标超过一定轮数不再变优,模型提前停止训练。
- Type
int
- _seed
全局随机种子, 注: 保证每次模型参数初始化一致。
- Type
int|None
- _stop_training
- Type
bool
- _fit_params
根据TSDataset自动推断各种参数。
- Type
Dict[str, Any]
- _network
网络结构。
- Type
paddle.nn.Layer
- _optimizer
优化器。
- Type
Optimizer
- _metrics_names
评估方法名称列表。
- Type
List[str]
- _metric_container_dict
评估方法的容器。
- Type
Dict[str, MetricContainer]
- _callback_container
一个包含回调实例的容器。
- Type
- fit(train_tsdataset: TSDataset, valid_tsdataset: Optional[TSDataset] = None)[源代码]
- 训练过程
,使用训练集进行训练,验证集进行评估。
- predict(tsdataset: TSDataset, **predict_kwargs) TSDataset[源代码]
获取数据的异常标签,输出格式为TSDataset。
- 参数
tsdataset (TSDataset) – 用于预测的数。
**predict_kwargs – _predict额外的参数。
- 返回
TSDataset.
- predict_score(tsdataset: TSDataset, **predict_kwargs) TSDataset[源代码]
获取数据的异常分数,输出格式为TSdataset。
- 参数
tsdataset (TSDataset) – 用于预测的数。
**predict_kwargs – _predict额外的参数。
- 返回
TSDataset.
- save(path: str, network_model: bool = False, dygraph_to_static: bool = True, batch_size: Union[None, int] = None) None[源代码]
将一个AnomalyBaseModel模型实例保存在磁盘文件中。
1> 任何一个 AnomalyBaseModel 或者继承自 AnomalyBaseModel 的实例均拥有一组成员变量,它们一般可以被分为3种类型: 可以被pickle序列化的成员(例如:int,str,dict等python内置的数据类型), paddle相关的,并且无法被pickle序列化的成员(例如:paddle.nn.Layer, paddle.optimizer.Optimizer), 以及与paddle不相关的,并且无法被pickle序列化的成员。
2> 调用此方法前需保证self._network 和 self._optimizer成员不为None。
- 参数
path (str) – 一个包含模型文件名的字符串格式的路径。
network_model (bool) – Save network model structure and parameters separately for Paddle Inference or not, default False.
dygraph_to_static (bool) – Change network from dygraph to static or not, it works when network_model==True, default True.
batch_size (int) – The fixed batch size for the param input_spec of network_model save, it works when network_model==True, default None.
- 引发
ValueError –
- static load(path: str) AnomalyBaseModel[源代码]
从给定的文件路径加载一个AnomalyBaseModel模型。
由于预测期间optimizer并不影响模型的预测效果,因此当前暂不加载optimizer。
- 参数
path (str) – 一个包含模型文件名的字符串格式的路径。
- 返回
加载得到的AnomalyBaseModel模型实例。
- 返回类型