快速开始

使用pip安装tsbenchmark:

pip install tsbenchmark

以使用prophet训练为例子定一个player,创建目录prophet_player,并在该目录创建player.yaml文件:

env:
  venv:
    kind: conda  # 使用conda创建虚拟环境
  requirements:
    kind: conda_yaml  # 使用的conda 的yaml文件定义虚拟环境
    config:
      file_name: env.yaml 

tasks:  # 声明该player 仅支持单变量预测的任务
  - univariate-forecast

在目录prophet_player中创建env.yaml 文件,这个文件用来使用conda创建虚拟环境,在player运行时使用。

name: tsb_prophet_player
channels:
  - defaults
  - conda-forge
dependencies:
  - prophet
  - pip:
      - tsbenchmark

在目录prophet_player中创建exec.py 文件用来使用prophet训练任务:

from prophet import Prophet

import tsbenchmark as tsb
import tsbenchmark.api


def main():
    task = tsb.api.get_task()
    print(task)
    m = Prophet()
    m.fit(df)
    future = m.make_future_dataframe(periods=365)
    report_data = {'reward': 0.7}
    tsb.api.report_task(report_data=report_data)

if __name__ == "__main__":
    main()

由于player的运行环境需要使用使用conda创建,请先安装conda到/opt/miniconda3

然后在当前目录创建Benchmark配置文件benchmark.yaml:

name: 'benchmark_example'
desc: 'local benchmark run prophet'

kind: local

players:
  - ./prophet_player

datasets:
  filter:
    tasks:
      - univariate-forecast
    data_sizes:
      - small

random_states: [ 23163 ]

constraints:
  task:
    reward_metric: rmse

venv:
  conda:
    home: /opt/miniconda3

当前目录的结构应该为:

.
├── benchmark.yaml
└── prophet_player
    ├── env.yaml
    ├── exec.yaml
    └── player.yaml

运行该benchmark:

$ tsb run --config ./benchmark.yaml

运行结束后可以去./report 目录查看生成的测试报告。