|
|
||
|---|---|---|
| .. | ||
| AGCRN | ||
| ARIMA | ||
| ASTRA | ||
| DCRNN | ||
| DDGCRN | ||
| DSANET | ||
| EXP | ||
| EXPB | ||
| FPT | ||
| GWN | ||
| HI | ||
| Informer | ||
| MTGNN | ||
| MegaCRN | ||
| NLT | ||
| PDG2SEQ | ||
| PatchTST | ||
| REPST | ||
| STAEFormer | ||
| STAWnet | ||
| STFGNN | ||
| STGCN | ||
| STGNCDE | ||
| STGNRDE | ||
| STGODE | ||
| STID | ||
| STIDGCN | ||
| STMLP | ||
| STNorm | ||
| STSGCN | ||
| ST_SSL | ||
| TCN | ||
| TEDDCF | ||
| TWDGCN | ||
| iTransformer | ||
| README.md | ||
| model_selector.py | ||
README.md
模型注册说明
概述
本项目使用基于配置文件的模型注册机制,每个模型目录下的 model_config.json 文件用于注册该目录下的模型。
model_config.json 格式
基本格式
每个 model_config.json 文件是一个 JSON 数组,包含一个或多个模型配置对象:
[
{
"name": "模型名称",
"module": "模型模块路径",
"entry": "模型入口点"
}
]
字段说明
- name: 模型的唯一标识符,用于在配置文件中选择模型
- module: 模型所在的模块路径,使用 Python 导入格式
- entry: 模型的入口点,可以是类名或函数名
示例
1. 单个模型
[
{
"name": "DDGCRN",
"module": "model.DDGCRN.DDGCRN",
"entry": "DDGCRN"
}
]
2. 多个模型(同一目录下的不同版本)
[
{
"name": "ASTRA",
"module": "model.ASTRA.astra",
"entry": "ASTRA"
},
{
"name": "ASTRA_v2",
"module": "model.ASTRA.astrav2",
"entry": "ASTRA"
},
{
"name": "ASTRA_v3",
"module": "model.ASTRA.astrav3",
"entry": "ASTRA"
}
]
3. 函数模型
[
{
"name": "STGNCDE",
"module": "model.STGNCDE.Make_model",
"entry": "make_model"
}
]
添加新模型
- 在
model目录下创建模型目录 - 在该目录下实现模型代码
- 创建
model_config.json文件,配置模型信息 - 在配置文件中使用模型名称选择模型
注意事项
- 模型名称必须唯一,不允许重复
- 模块路径必须是正确的 Python 导入路径
- 入口点必须是模块中存在的类或函数
- 配置文件必须是有效的 JSON 格式
- 每个模型目录下只能有一个
model_config.json文件
模型选择
在配置文件中,通过 basic.model 字段指定要使用的模型名称:
{
"basic": {
"model": "ASTRA"
},
"model": {
// 模型特定配置
}
}
冲突检测
系统会自动检测模型名冲突,如有冲突会抛出 AssertionError 并显示冲突信息。