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)[源代码]

基类:BaseClassifier

所有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]

_callbacks

自定义回调函数。

Type

List[Callback]

_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

评估方法实例列表。

Type

List[Metric]

_metrics_names

评估方法名称列表。

Type

List[str]

_metric_container_dict

Dict of metric container.

Type

评估方法的容器。

_history

历史信息。

Type

History

_callback_container

一个包含回调实例的容器

Type

CallbackContainer

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做为验证集。

参数
  • train_tsdataset (TSDataset) – 训练集

  • train_labels – 训练数据的标签

  • valid_tsdataset (TSDataset|None) – 验证集,用于早停

  • valid_labels – 验证数据的标签

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模型实例

返回类型

PaddleBaseClassifier