paddlets.automl.optimize_runner

class OptimizeRunner(search_alg: str = 'Random')[源代码]

基类:object

Optimize runner 是用于模型训练的运行,以实现超参优化。

参数

search_alg (str) – 超参优化算法。支持的算法为 ‘auto’, ‘Random’, ‘CMAES’, ‘TPE’, ‘CFO’, ‘BlendSearch’, ‘Bayes’。

setup_estimator(config: dict, paddlets_estimator: Union[Type[BaseModel], List[Union[Type[BaseTransform], Type[BaseModel]]]], in_chunk_len: int, out_chunk_len: int, skip_chunk_len: int, sampling_stride: int)[源代码]

通过配置构建 paddlets 评估器。

参数
  • config (dict) – 评估器的算法配置参数。

  • paddlets_estimator (Union[Type[BaseModel], List[Union[Type[BaseTransform], Type[BaseModel]]]]) – 一个 PaddleTS 模型的类名,或者是由若干个 PaddleTS 的特征工程类名与一个 PaddleTS 模型类名组成的列表。

  • in_chunk_len (int) – 模型输入的时间序列长度。

  • out_chunk_len (int) – 模型输出的序列长度。

  • skip_chunk_len – 输入序列与输出序列之间跳过的序列长度

  • sampling_stride (int) – 相邻样本间的采样间隔。

返回

通过配置构建 paddlets 学习器。

返回类型

BaseModel

optimize(paddlets_estimator: ~typing.Union[~typing.Type[~paddlets.models.base.BaseModel], ~typing.List[~typing.Union[~typing.Type[~paddlets.transform.base.BaseTransform], ~typing.Type[~paddlets.models.base.BaseModel]]]], in_chunk_len: int, out_chunk_len: int, train_tsdataset: ~typing.Union[~paddlets.datasets.tsdataset.TSDataset, ~typing.List[~paddlets.datasets.tsdataset.TSDataset]], valid_tsdataset: ~typing.Optional[~typing.Union[~paddlets.datasets.tsdataset.TSDataset, ~typing.List[~paddlets.datasets.tsdataset.TSDataset]]] = None, sampling_stride: int = 1, skip_chunk_len: int = 0, search_space: ~typing.Optional[dict] = None, metric: ~abc.ABCMeta = <class 'paddlets.metrics.metrics.MAE'>, mode: str = 'min', resampling_strategy: str = 'holdout', split_ratio: float = 0.1, k_fold: int = 3, n_trials: int = 5, cpu_resource: float = 1.0, gpu_resource: float = 0, max_concurrent_trials: int = 1, local_dir: ~typing.Optional[str] = None)[源代码]

执行超参优化

参数
  • paddlets_estimator (Union[Type[BaseModel], List[Union[Type[BaseTransform], Type[BaseModel]]]]) – 一个 PaddleTS 模型的类名,或者是由若干个 PaddleTS 的特征工程类名与一个 PaddleTS 模型类名组成的列表。

  • in_chunk_len (int) – 模型输入的时间序列长度。

  • out_chunk_len (int) – 模型输出的序列长度。

  • train_tsdataset (Union[TSDataset, List[TSDataset]]) – 训练数据集。

  • valid_tsdataset (Union[TSDataset, List[TSDataset]], optional) – 验证数据集。

  • sampling_stride (int) – 相邻样本间的采样间隔。

  • skip_chunk_len (int) – 可选变量,输入序列与输出序列之间跳过的序列长度

  • search_space (Optional[dict]) – 用于 AutoTS 超参优化的搜索空间。

  • metric (ABCMeta) – metric 的类名,例如 MAE、MSE。

  • mode (str) – 根据优化模式,metric会向增大或者减小的方向优化。

  • resampling_strategy (str) – 重采样策略。支持的重采样策略是 ‘cv’, ‘holdout’。

  • split_ratio (float) – 重采样策略为 holdout 时,被留作验证集的数据的比例。

  • k_fold (int) – 当重采样策略为 cv 时,交叉验证的 fold 的数量。

  • n_trials (int) – 超参优化算法可以建议的算法配置的数量。

  • cpu_resource (float) – 被分配到每个算法配置训练过程中的 CPU 资源。

  • gpu_resource (float) – 被分配到每个算法配置训练过程中的 GPU 资源。注意,如果你不指定此参数,则GPU资源不会被使用。此参数的使用可以查看AutoTS使用文档。

  • max_concurrent_trials (int) – 最大并发运行的参数试验数量。

  • local_dir (str) – 用于存放 ray 的运行结果。临时日志由于ray的已知issue,暂未存储在用户指定的local dir。用户须自行清理ray的临时log文件夹,基于系统,可能存储于/tmp 或 /usr/tmp 等文件夹。临时文件夹可由环境变量RAY_TMPDIR/TMPDIR,或者基于系统根目录的/tmp或者利用tempfile.gettempdir()获取

返回

用于参数优化过程分析的对象。

返回类型

ExperimentAnalysis

引发

TuneError – 任意一个训练失败