# DQ_model_flow **Repository Path**: power-prediction-algorithm-group/dq_model_flow ## Basic Information - **Project Name**: DQ_model_flow - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-22 - **Last Updated**: 2026-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 标准化短期风电训练框架(Config 字典调用版) 这个版本默认采用 **Python Config 字典 + 脚本内置变量** 的调用方式,不再要求命令行传参。 ## 1. 推荐使用方式 先修改: ```python configs/swin3d_wind_ec1h.py ``` 重点参数: ```python RUN_MODE = "all" # make_dataset / train / export / predict / all CKPT_PATH = "" # 手动导出 ONNX 时填写 pth 路径 ONNX_PATH = "" # 手动推理时填写 onnx 路径 CONFIG = {...} # 场站、数据、模型、训练、导出、推理参数 ``` 然后直接执行: ```bash python main.py ``` ## 2. 单步骤执行 不需要传任何命令行参数,直接执行对应脚本: ```bash python scripts/make_dataset.py python scripts/train_model.py python scripts/export_onnx.py python scripts/predict_range.py ``` 其中 `export_onnx.py` 需要在脚本顶部设置: ```python CKPT_PATH_LOCAL = "/data/.../checkpoints_best.pth" ``` `predict_range.py` 需要在脚本顶部设置: ```python ONNX_PATH_LOCAL = "/data/.../checkpoints_best.onnx" ``` ## 3. Python 函数式调用 也可以在 Notebook 或其他 Python 文件中直接调用: ```python from main import run_pipeline from configs.swin3d_wind_ec1h import CONFIG CONFIG["training"]["num_epochs"] = 10 CONFIG["training"]["device"] = "cuda:1" run_pipeline(CONFIG, mode="train") ``` 或者只生成数据: ```python from scripts.make_dataset import main from configs.swin3d_wind_ec1h import CONFIG CONFIG["data"]["train_start"] = "2025-01-01 08:00:00" CONFIG["data"]["train_end"] = "2026-01-01 08:00:00" main(CONFIG) ``` ## 4. 设计思路 - `configs/swin3d_wind_ec1h.py`:所有可变参数集中在 Python 字典中,支持注释和临时修改。 - `src/configs.py`:提供 `PipelineConfig.from_dict()`,把字典转换成结构化 dataclass。 - `main.py`:总流程入口,通过 `RUN_MODE` 控制数据制作、训练、导出、推理。 - `scripts/`:单步骤入口,适合服务器上 screen/nohup/crontab 分步执行。 - `src/abstracts.py`:抽象基类,后续可继续扩展 ConvNeXt、ResNet3D、XGB、LightGBM 等模型。 ## 5. 与原命令行版本的差异 旧方式: ```bash python main.py --config configs/swin3d_wind_ec1h.json --mode train ``` 新方式: ```python # configs/swin3d_wind_ec1h.py RUN_MODE = "train" ``` ```bash python main.py ``` 这种方式更适合生产脚本风格:路径、场站、训练参数都固化在脚本中,避免每次运行手动传参。