Player配置文件参考
Player通常会包含一个yaml格式的描述文件 player.yaml
和一个python脚本 exec.py
,一个player的目录结构看起来像是:
.
├── exec.py
└── player.yaml
exec.py
脚本来借助tsbenchmark提供的api完成读取任务、训练任务、和评估指标,api用法参考 TSBenchmark API References 。player.yaml
用来描述player的配置信息。
定义player例子请参考 快速开始,在TSBenchmark中也已经将一些算法封装成Player,参考 Player列表 。
配置样例
自定义python环境
name: hyperts_player
env:
kind: custom_python # 使用自定义python环境
py_executable: /usr/bin/python
conda管理conda格式依赖文件
name: hyperts_player
env:
kind: conda # 使用conda创建虚拟环境
requirements:
kind: conda_yaml # 使用conda 格式的依赖
file_name: env.yaml
conda管理pip格式依赖文件
name: hyperts_player
env:
kind: conda # 使用conda创建虚拟环境
requirements:
kind: requirements_txt # 使用pip格式的依赖定义文件
file_name: requirements.txt
py_version: 3.8
tasks: # 仅支持单变量预测的任务
- univariate-forecast
random: true # 使用随机数
配置项参考
PlayerConfig
Field Name |
Type |
Description |
---|---|---|
name |
|
player的名称,如果为空将使用player所在的文件夹名。 |
env |
EnvConfig, required |
运行环境配置。 |
tasks |
|
player支持的任务类型,默认为空,如果为空表示支持所有任务类型。 Benchmark运行时只会给Player分配它能支持的类型的任务; 可选的值有 |
random |
|
player是否接受随机数,默认为 如果接受随机数,Benchmark运行时会对每个任务使用不同的随机数跑多次减少随机因素带来的影响。 如果不接受则仅运行任务一次。 |
EnvConfig
是下列对象的一种:
CustomPythonEnvConfig
使用已经创建好的python环境运行player。这种情况下benchmark运行时候不会再为player创建虚拟环境,而是使用指定的python环境运行。
Field Name |
Type |
Description |
---|---|---|
kind |
|
|
py_executable |
|
python的可执行文件路径,默认为当前进程使用的python。 |
CondaEnvConfig
定义使用 conda 管理的虚拟环境。Benchmark运行时候会使用已经配置好的conda创建虚拟环境并运行player。
Field Name |
Type |
Description |
---|---|---|
kind |
|
|
name |
|
conda虚拟环境的名称。
如果为空, 当 当 |
requirements |
定义虚拟环境的依赖包。 |
备注
如果运行时根据虚拟环境的名称检查到虚拟环境已经存在则会跳过环境创建并使用当前存在的环境运行player。
RequirementsConfig
是下列对象的一种:
RequirementsTxtConfig
player可以使用 pip的依赖文件格式 (requirement.txt)声明所需要的依赖库, 一个 requirement.txt
文件看起来像:
tsbenchmark
numpy >=0.1
benchmark运行时候会使用conda创建虚拟环境并使用 pip 安装依赖。
Field Name |
Type |
Description |
---|---|---|
kind |
|
|
py_version |
|
虚拟环境的python版本,如果为空将使用当前进程使用的python版本。 |
file_name |
|
pip依赖文件的名称,默认为 由于player运行时候需要使用tsbenchmark,请在该文件中添加tsbenchmark。 |
CondaYamlConfig
conda 可以将虚拟环境导出成yaml文件,参考 Sharing an environment 。导出的文件看起来像:
name: plain_player_conda_yaml
channels:
- defaults
dependencies:
- pip
- pip:
- tsbenchmark
导出的yaml文件可以用来定义player的虚拟python环境,Benchmark运行时候会使用此文件创建虚拟环境并用来运行Player。
Field Name |
Type |
Description |
---|---|---|
kind |
|
|
file_name |
|
conda虚拟环境导出的yaml文件,默认为 此文件中通常已经包含虚拟环境的名称,不必再通过 |