概念

DatasetDataset是供Player跑benchmark时使用的数据和元数据, 通过TsTask对象的get_train和get_test方法可以获取。

初次运行时,框架自动从云端下载数据集。已下载成功的数据集会统一保存到缓存目录,后续运行时会使用缓存数据。数据缓存目录地址可以在 benchmark.yaml中指定。

TaskTaskBenchmark的评测的一个原子任务。其主要供Player中使用,用户可以通过tsbenchmark.api的get_task和get_local_task获取。

Task包含几部分信息

  • 数据,包括训练数据和测试数据

  • 元数据,包括任务类型、数据形状、horizon、时间序列字段列表、协变量字段列表等

  • 训练参数,包括random_state、reward_metric、max_trials等Benchmark参数

Benchmark

Benchmark通过使一组Player分别运行一组相同的Task,并将运行的结果汇总成一个ReportReport中这些Player在运行时间、评估指标得分等方面的差异。

TSBenchmark目前有两个Benchmark的实现:

  • LocalBenchmark: 在本地运行Benchmark

  • RemoteSSHBenchmark: 通过SSH协议将训练任务在远程运行的Benchmark

Player

Player用来运行Task。它会包含一个python运行环境和一个python脚本文件。在python脚本中,可以调用tsbenchmark 提供的api获取Task,训练模型,评估模型和上传运行数据。

Environment

Player的运行环境。可以是自定义python环境,也可以是由conda管理的虚拟python环境。可以使用requirement.txt或者conda导出的yaml文件定义虚拟环境。

Report

Report是供Benchmark的最终成果,收集Player的反馈结果信息,并生成对比分析报告。 报告支持不同Player间的对比报告横向对比,也支持同Player跑不同的Benchmark之间的对比纵向对比。

报告包含预测结果归档和Performance对比,其中的Performance包含smape, mae, rmse和mape的常见评价指标.