paddlets.models.classify.dl.paddle_base
- class PaddleBaseClassifier(loss_fn: ~typing.Optional[~typing.Callable[[...], ~paddle.Tensor]] = 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 = 32, max_epochs: int = 10, verbose: int = 1, patience: int = 4, seed: ~typing.Union[None, int] = None)[源代码]
-
所有paddle深度时序分类模型的基类。
- 参数
loss_fn (Callable[..., paddle.Tensor]|None) – 损失函数。
optimizer_fn (Callable[..., Optimizer]) – 优化器算法。
optimizer_params (Dict[str, Any]) – 优化器参数。
eval_metrics (List[str]) – 模型评估指标。
callbacks (List[Callback]) – 自定义回调函数。
batch_size (int) – 每个批次的样本数量
max_epochs (int) – 训练过程中最大迭代轮数
verbose (int) – 模型日志模式
patience (int) – 模型训练过程中, 当评估指标超过一定轮数不再变优,模型提前停止训练。
seed (int|None) – 全局随机种子, 注: 保证每次模型参数初始化一致。
- _loss_fn
损失函数。
- Type
Callable[…, paddle.Tensor]|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
- _classes_(ndarray)
分类类别,有可能是字符串组成的列表
- _n_class
分类的数量
- Type
int
- _stop_training
- Type
bool
- _fit_params
根据TSDataset自动推断各种参数。
- Type
Dict[str, Any]
- _network
网络结构。
- Type
paddle.nn.Layer
- _optimizer
Optimizer.
- Type
Optimizer
- _metrics_names
评估方法名称列表。
- Type
List[str]
- _metric_container_dict
Dict of metric container.
- Type
评估方法的容器。
- _callback_container
一个包含回调实例的容器
- Type
- check_tsdataset(tsdataset: TSDataset)[源代码]
确保输入数据的鲁棒性(一致的特征顺序),检查数据类型是否兼容。如果没有,处理逻辑如下。
1> Floating: Convert to np.float32.
2> Missing value: Warning.
3> Other: Illegal.
- 参数
tsdataset (TSDataset) – 被检查的数据
- fit(train_tsdatasets: List[TSDataset], train_labels: ndarray, valid_tsdatasets: Optional[List[TSDataset]] = None, valid_labels: Optional[ndarray] = None)[源代码]
训练一个深度模型,存储在self._network中。使用train_dataloader做为训练集,valid_dataloader做为验证集。
- predict(tsdatasets: List[TSDataset]) ndarray[源代码]
预测结果。以数组方式返回
- 参数
tsdataset (List[TSDataset]) – 被预测数据
- 返回
多维数组
- predict_proba(tsdatasets: List[TSDataset]) ndarray[源代码]
获取每条样本在每个类别上的概率。
- 参数
tsdataset (List[TSDataset]) – 被预测数据
labels – 预测数据的标签
- 返回
多维数组
- score(tsdatasets: List[TSDataset], labels: ndarray) float[源代码]
计算预测结果的准确率
- 参数
tsdataset (List[TSDataset]) – 被预测数据
labels – 预测数据的标签
- 返回
float,预测结果准确率
- save(path: str) None[源代码]
将一个Paddle分类模型基类实例保存在磁盘文件中。
- 参数
path (str) – 一个包含模型文件名的字符串格式的路径。
- 引发
ValueError –
- static load(path: str) PaddleBaseClassifier[源代码]
从给定的文件中加载
PaddleBaseClassifier模型实例。- 参数
path (str) – 一个包含模型文件名的字符串格式的路径。
- 返回
已加载的PaddleBaseClassifier模型实例
- 返回类型